summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'dr/ceiling'Junio C Hamano2008-07-071-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | * dr/ceiling: Eliminate an unnecessary chdir("..") Add support for GIT_CEILING_DIRECTORIES Fold test-absolute-path into test-path-utils Implement normalize_absolute_path Conflicts: cache.h setup.c
| * Fold test-absolute-path into test-path-utilsDavid Reiss2008-05-231-1/+1
| | | | | | | | | | Signed-off-by: David Reiss <dreiss@facebook.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Implement normalize_absolute_pathDavid Reiss2008-05-231-1/+1
| | | | | | | | | | | | | | | | | | normalize_absolute_path removes several oddities form absolute paths, giving nice clean paths like "/dir/sub1/sub2". Also add a test case for this utility, based on a new test program (in the style of test-sha1). Signed-off-by: David Reiss <dreiss@facebook.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Retire 'stupid' merge strategyMiklos Vajna2008-07-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | As pointed out by Linus, this strategy tries to take the best merge base, but 'recursive' just does it better. If one needs something more than 'resolve' then he/she should really use 'recursive' and not 'stupid'. Cf. Message-ID: <alpine.LFD.1.10.0807030947360.18105@woody.linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'j6t/mingw'Junio C Hamano2008-07-021-3/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * j6t/mingw: (38 commits) compat/pread.c: Add a forward declaration to fix a warning Windows: Fix ntohl() related warnings about printf formatting Windows: TMP and TEMP environment variables specify a temporary directory. Windows: Make 'git help -a' work. Windows: Work around an oddity when a pipe with no reader is written to. Windows: Make the pager work. When installing, be prepared that template_dir may be relative. Windows: Use a relative default template_dir and ETC_GITCONFIG Windows: Compute the fallback for exec_path from the program invocation. Turn builtin_exec_path into a function. Windows: Use a customized struct stat that also has the st_blocks member. Windows: Add a custom implementation for utime(). Windows: Add a new lstat and fstat implementation based on Win32 API. Windows: Implement a custom spawnve(). Windows: Implement wrappers for gethostbyname(), socket(), and connect(). Windows: Work around incompatible sort and find. Windows: Implement asynchronous functions as threads. Windows: Disambiguate DOS style paths from SSH URLs. Windows: A rudimentary poll() emulation. Windows: Implement start_command(). ...
| * | When installing, be prepared that template_dir may be relative.Johannes Sixt2008-06-261-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since the Makefile in the template/ subdirectory is only used to install the templates, we do not simply pass down the setting of template_dir when it is relative, but construct the intended destination in a new variable: A relative template_dir is relative to gitexecdir. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
| * | Windows: Use a relative default template_dir and ETC_GITCONFIGJohannes Sixt2008-06-261-0/+2
| | | | | | | | | | | | | | | | | | | | | With this definition the templates and system config file will be found irrespective of the installation location. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
| * | Windows: Strip ".exe" from the program name.Johannes Sixt2008-06-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before we can successfully parse a builtin command from the program name we must strip off unneeded parts, that is, the file extension. Furthermore, we must take Windows style path names into account when we parse the program name. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
| * | Add target architecture MinGW.Johannes Sixt2008-06-221-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change GIT can be compiled and linked using MinGW. Builtins that only read the repository such as the log family and grep already work. Simple stubs are provided for a number of functions that the Windows C runtime does not offer. They will be completed in later patches. However, a fix for the snprintf/vsnprintf replacement is applied here to avoid buffer overflows. Dmitry Kakurin pointed out that access(..., X_OK) would always fails on Vista and suggested the -D__USE_MINGW_ACCESS workaround. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
| * | Compile some programs only conditionally.Johannes Sixt2008-06-221-2/+4
| | | | | | | | | | | | | | | | | | | | | These programs depend on difficult to emulate POSIX functionality. On Windows, we won't compile them. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
* | | Merge branch 'nd/dashless'Junio C Hamano2008-07-011-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | * nd/dashless: Keep some git-* programs in $(bindir) Move all dashed-form commands to libexecdir
| * | | Keep some git-* programs in $(bindir)Junio C Hamano2008-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise remote executions directly over ssh won't find them as they used to. --upload-pack and --receive-pack options _could_ be used on the client side, but things should keep working out-of-box for older clients. Later versions of clients (fetch-pack and send-pack) probably could start asking for these programs with dashless form, but that is a different topic. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | Move all dashed-form commands to libexecdirNguyễn Thái Ngọc Duy2008-06-191-1/+2
| |/ / | | | | | | | | | | | | Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | shrink git-shell by avoiding redundant dependenciesDmitry Potapov2008-06-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of modules that have nothing to do with git-shell functionality were linked in, bloating git-shell more than 8 times. This patch cuts off redundant dependencies by: 1. providing stubs for three functions that make no sense for git-shell; 2. moving quote_path_fully from environment.c to quote.c to make the later self sufficient; 3. moving make_absolute_path into a new separate file. The following numbers have been received with the default optimization settings on master using GCC 4.1.2: Before: text data bss dec hex filename 143915 1348 93168 238431 3a35f git-shell After: text data bss dec hex filename 17670 788 8232 26690 6842 git-shell Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'jh/clone-packed-refs'Junio C Hamano2008-06-251-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jh/clone-packed-refs: Teach "git clone" to pack refs Prepare testsuite for a "git clone" that packs refs Move pack_refs() and friends into libgit Incorporate fetched packs in future object traversal
| * | | Move pack_refs() and friends into libgitJohan Herland2008-06-191-0/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves pack_refs() and underlying functionality into the library, to make pack-refs functionality easily available to all git programs. Most of builtin-pack-refs.c has been moved verbatim into a new file pack-refs.c that is compiled into libgit.a. A corresponding header file, pack-refs.h, has also been added, declaring pack_refs() and the #defines associated with the flags parameter to pack_refs(). This patch introduces no other changes in functionality. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Shrink the git binary a bit by avoiding unnecessary inline functionsLinus Torvalds2008-06-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So I was looking at the disgusting size of the git binary, and even with the debugging removed, and using -Os instead of -O2, the size of the text section was pretty high. In this day and age I guess almost a megabyte of text isn't really all that surprising, but it still doesn't exactly make me think "lean and mean". With -Os, a surprising amount of text space is wasted on inline functions that end up just being replicated multiple times, and where performance really isn't a valid reason to inline them. In particular, the trivial wrapper functions like "xmalloc()" are used _everywhere_, and making them inline just duplicates the text (and the string we use to 'die()' on failure) unnecessarily. So this just moves them into a "wrapper.c" file, getting rid of a tiny bit of unnecessary bloat. The following numbers are both with "CFLAGS=-Os": Before: [torvalds@woody git]$ size git text data bss dec hex filename 700460 15160 292184 1007804 f60bc git After: [torvalds@woody git]$ size git text data bss dec hex filename 670540 15160 292184 977884 eebdc git so it saves almost 30k of text-space (it actually saves more than that with the default -O2, but I don't think that's necessarily a very relevant number from a "try to shrink git" standpoint). It might conceivably have a performance impact, but none of this should be _that_ performance critical. The real cost is not generally in the wrapper anyway, but in the code it wraps (ie the cost of "xread()" is all in the read itself, not in the trivial wrapping of it). Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Add target "install-html" the the top level MakefileTeemu Likonen2008-06-211-0/+3
|/ / | | | | | | | | | | | | | | This makes it possible to install html documents from the top level directory. Previously such target was only in Documentation/Makefile. Signed-off-by: Teemu Likonen <tlikonen@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Makefile: update check-docs targetJunio C Hamano2008-06-151-0/+8
| | | | | | | | | | | | | | Earlier series to rename documentation pages around did not update this target and left check-docs broken. This should fix it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Consistency: Use "libcurl" instead of "cURL library" and "curl"Johan Herland2008-06-151-1/+1
| | | | | | | | | | Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Port to 12 other Platforms.Boyd Lynn Gerber2008-06-081-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support to compile and run git on 12 additional platforms. The platforms are based on UNIX Systems Labs (USL)/Novell/SYS V code base. The most common are Novell UnixWare 2.X.X, SCO UnixWare 7.X.X, OpenServer 5.0.X, OpenServer 6.0.X, and SCO pre OSR 5 platforms. Looking at the the various platform headers, I find: #if defined(_KERNEL) || !defined(_POSIX_SOURCE) \ && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) which hides u_short and other typedefs that other header files on these platforms depend on. WIth _XOPEN_SOURCE defined, sources that include system header files that depend on the typedefs such as u_short cannot be compiled on these platforms. __USLC__ indicates UNIX System Labs Corperation (USLC), or a Novell-derived compiler and/or some SysV based OS's. __M_UNIX indicates XENIX/SCO UNIX/OpenServer 5.0.7 and prior releases of the SCO OS's. It is used just like Apple and BSD, both of these shouldn't have _XOPEN_SOURCE defined. This is with suggestions and modifications from Daniel Barkalow, Junio C Hamano, Thomas Harning, and Jeremy Maitin-Shepard. Signed-off-by: Boyd Lynn Gerber <gerberb@zenez.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'jc/diff-no-no-index'Junio C Hamano2008-05-261-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * jc/diff-no-no-index: git diff --no-index: default to page like other diff frontends git-diff: allow --no-index semantics a bit more "git diff": do not ignore index without --no-index diff-files: do not play --no-index games tests: do not use implicit "git diff --no-index"
| * | "git diff": do not ignore index without --no-indexJunio C Hamano2008-05-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if "foo" and/or "bar" does not exist in index, "git diff foo bar" should not change behaviour drastically from "git diff foo bar baz" or "git diff foo". A feature that "sometimes works and is handy" is an unreliable cute hack. "git diff foo bar" outside a git repository continues to work as a more colourful alternative to "diff -u" as before. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Makefile: fix dependency on wt-status.hJunio C Hamano2008-05-261-0/+1
| | | | | | | | | | | | | | | | | | Noticed by Hannes, reported by Dscho. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'db/clone-in-c'Junio C Hamano2008-05-251-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * db/clone-in-c: Add test for cloning with "--reference" repo being a subset of source repo Add a test for another combination of --reference Test that --reference actually suppresses fetching referenced objects clone: fall back to copying if hardlinking fails builtin-clone.c: Need to closedir() in copy_or_link_directory() builtin-clone: fix initial checkout Build in clone Provide API access to init_db() Add a function to set a non-default work tree Allow for having for_each_ref() list extra refs Have a constant extern refspec for "--tags" Add a library function to add an alternate to the alternates file Add a lockfile function to append to a file Mark the list of refs to fetch as const Conflicts: cache.h t/t5700-clone-reference.sh
| * | Build in cloneDaniel Barkalow2008-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | Thanks to Johannes Schindelin for various comments and improvements, including supporting cloning full bundles. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'as/graph'Junio C Hamano2008-05-211-0/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | * as/graph: graph API: eliminate unnecessary indentation log and rev-list: add --graph option Add history graph API revision API: split parent rewriting and parent printing options
| * | Add history graph APIAdam Simpkins2008-05-051-0/+2
| |/ | | | | | | | | | | | | | | This new API allows the commit history to be displayed as a text-based graphical representation. Signed-off-by: Adam Simpkins <adam@adamsimpkins.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Makefile: update the default build options for AIXMike Ralphson2008-05-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | NO_MKDTEMP is required to build, FREAD_READS_DIRECTORIES and the definition of _LARGE_FILES fix test suite failures and INTERNAL_QSORT is required for adequate performance. Tested on AIX v5.3 Maintenance Level 06 Signed-off-by: Mike Ralphson <mike@abacus.co.uk> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'lt/case-insensitive'Junio C Hamano2008-05-101-0/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | * lt/case-insensitive: Make git-add behave more sensibly in a case-insensitive environment When adding files to the index, add support for case-independent matches Make unpack-tree update removed files before any updated files Make branch merging aware of underlying case-insensitive filsystems Add 'core.ignorecase' option Make hash_name_lookup able to do case-independent lookups Make "index_name_exists()" return the cache_entry it found Move name hashing functions into a file of its own Make unpack_trees_options bit flags actual bitfields
| * Move name hashing functions into a file of its ownLinus Torvalds2008-04-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's really totally separate functionality, and if we want to start doing case-insensitive hash lookups, I'd rather do it when it's separated out. It also renames "remove_index_entry()" to "remove_name_hash()", because that really describes the thing better. It doesn't actually remove the index entry, that's done by "remove_index_entry_at()", which is something very different, despite the similarity in names. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | sha1-lookup: more memory efficient search in sorted list of SHA-1Junio C Hamano2008-04-091-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when looking for a packed object from the pack idx, a simple binary search is used. A conventional binary search loop looks like this: unsigned lo, hi; do { unsigned mi = (lo + hi) / 2; int cmp = "entry pointed at by mi" minus "target"; if (!cmp) return mi; "mi is the wanted one" if (cmp > 0) hi = mi; "mi is larger than target" else lo = mi+1; "mi is smaller than target" } while (lo < hi); "did not find what we wanted" The invariants are: - When entering the loop, 'lo' points at a slot that is never above the target (it could be at the target), 'hi' points at a slot that is guaranteed to be above the target (it can never be at the target). - We find a point 'mi' between 'lo' and 'hi' ('mi' could be the same as 'lo', but never can be as high as 'hi'), and check if 'mi' hits the target. There are three cases: - if it is a hit, we have found what we are looking for; - if it is strictly higher than the target, we set it to 'hi', and repeat the search. - if it is strictly lower than the target, we update 'lo' to one slot after it, because we allow 'lo' to be at the target and 'mi' is known to be below the target. If the loop exits, there is no matching entry. When choosing 'mi', we do not have to take the "middle" but anywhere in between 'lo' and 'hi', as long as lo <= mi < hi is satisfied. When we somehow know that the distance between the target and 'lo' is much shorter than the target and 'hi', we could pick 'mi' that is much closer to 'lo' than (hi+lo)/2, which a conventional binary search would pick. This patch takes advantage of the fact that the SHA-1 is a good hash function, and as long as there are enough entries in the table, we can expect uniform distribution. An entry that begins with for example "deadbeef..." is much likely to appear much later than in the midway of a reasonably populated table. In fact, it can be expected to be near 87% (222/256) from the top of the table. This is a work-in-progress and has switches to allow easier experiments and debugging. Exporting GIT_USE_LOOKUP environment variable enables this code. On my admittedly memory starved machine, with a partial KDE repository (3.0G pack with 95M idx): $ GIT_USE_LOOKUP=t git log -800 --stat HEAD >/dev/null 3.93user 0.16system 0:04.09elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+55588minor)pagefaults 0swaps Without the patch, the numbers are: $ git log -800 --stat HEAD >/dev/null 4.00user 0.15system 0:04.17elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+60258minor)pagefaults 0swaps In the same repository: $ GIT_USE_LOOKUP=t git log -2000 HEAD >/dev/null 0.12user 0.00system 0:00.12elapsed 97%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+4241minor)pagefaults 0swaps Without the patch, the numbers are: $ git log -2000 HEAD >/dev/null 0.05user 0.01system 0:00.07elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+8506minor)pagefaults 0swaps There isn't much time difference, but the number of minor faults seems to show that we are touching much smaller number of pages, which is expected. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* gitweb: fallback to system-wide config file (fixup)Gerrit Pape2008-04-051-0/+1
| | | | | | | | The earlier one did not correctly propagate GITWEB_CONFIG_SYSTEM from Makefile to generated gitweb.cgi script. Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* gitweb: fallback to system-wide config file if default config does not existGerrit Pape2008-03-271-0/+1
| | | | | | | | | | | | | | | | | | | From a distribution point of view, configuration files for applications should reside in /etc/. On the other hand it's convenient for multiple instances of gitweb (e.g. virtual web servers on a single machine) to have a per-instance configuration file, just as gitweb currently supports through the file gitweb_config.perl next to the cgi. To support both at runtime, this commit introduces GITWEB_CONFIG_SYSTEM as a system-wide configuration file which will be used as a fallback if the config file sprecified throug GITWEB_CONFIG does not exist. See also http://bugs.debian.org/450592 Signed-off-by: Gerrit Pape <pape@smarden.org> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'jc/makefile'Junio C Hamano2008-03-171-150/+276
|\ | | | | | | | | | | * jc/makefile: Makefile: flatten enumeration of headers, objects and programs Makefile: DIFF_OBJS is not special at all these days
| * Makefile: flatten enumeration of headers, objects and programsJunio C Hamano2008-03-121-148/+276
| | | | | | | | | | | | | | With flattened one-line-per-item list that is sorted, hopefully we will have less merge conflicts when various topics are merged. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Makefile: DIFF_OBJS is not special at all these daysJunio C Hamano2008-03-121-7/+5
| | | | | | | | | | | | | | | | | | | | It used to make sense back when nothing but diff-files, diff-index and friends depended on diffcore infrastructure, but pretty much everything depends on revision infrastructure which in turn depends on DIFF_OBJS. There is no reason to treat them any differently in the Makefile. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | filter-branch: use $SHELL_PATH instead of 'sh'Jeff King2008-03-131-0/+1
| | | | | | | | | | | | | | | | | | On some systems, 'sh' isn't very friendly. In particular, t7003 fails on Solaris because it doesn't understand $(). Instead, use the specified SHELL_PATH to run shell code. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | add NO_EXTERNAL_GREP build optionJeff King2008-03-131-0/+6
|/ | | | | | | | | | | | | Previously, we just chose whether to allow external grep based on the __unix__ define. However, there are systems which define this macro but which have an inferior group (e.g., one that does not support all options used by t7002). This allows users to accept the potential speed penalty to get a more consistent grep experience (and to pass the testsuite). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'js/remote'Junio C Hamano2008-03-111-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * js/remote: "remote update": print remote name being fetched from builtin remote rm: remove symbolic refs, too remote: fix "update [group...]" remote show: Clean up connection correctly if object fetch wasn't done builtin-remote: prune remotes correctly that were added with --mirror Make git-remote a builtin Test "git remote show" and "git remote prune" parseopt: add flag to stop on first non option path-list: add functions to work with unsorted lists Conflicts: parse-options.c
| * Make git-remote a builtinJohannes Schindelin2008-03-011-1/+2
| | | | | | | | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'jc/cherry-pick' (early part)Junio C Hamano2008-03-111-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'jc/cherry-pick' (early part): expose a helper function peel_to_type(). merge-recursive: split low-level merge functions out. Conflicts: Makefile builtin-merge-recursive.c sha1_name.c
| * | merge-recursive: split low-level merge functions out.Junio C Hamano2008-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | This moves low-level merge functions out of merge-recursive.c and places them in a new separate file, ll-merge.c Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'mr/compat-snprintf'Junio C Hamano2008-03-081-0/+8
|\ \ \ | | | | | | | | | | | | | | | | * mr/compat-snprintf: Add compat/snprintf.c for systems that return bogus
| * | | Add compat/snprintf.c for systems that return bogusMichal Rokos2008-03-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some systems (namely HPUX and Windows) return -1 when maxsize in snprintf() and in vsnprintf() is reached. So replace snprintf() and vsnprintf() functions with our own ones that return correct value upon overflow. [jc: verified that review comments by J6t have been incorporated, and tightened the check to verify the resulting buffer contents, suggested by Wayne Davison] Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Do not use GUID on dir in git init --shared=all on FreeBSDAlex Riesen2008-03-051-0/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | It does not allow changing the bit to a non-root user. This fixes t1301-shared-repo.sh on the platform. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'np/verify-pack'Junio C Hamano2008-03-021-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * np/verify-pack: add storage size output to 'git verify-pack -v' fix unimplemented packed_object_info_detail() features make verify_one_pack() a bit less wrong wrt packed_git structure factorize revindex code out of builtin-pack-objects.c Conflicts: Makefile
| * | | factorize revindex code out of builtin-pack-objects.cNicolas Pitre2008-03-011-2/+3
| | |/ | |/| | | | | | | | | | | | | | | | No functional change. This is needed to fix verify-pack in a later patch. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'mk/maint-parse-careful'Junio C Hamano2008-03-021-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mk/maint-parse-careful: receive-pack: use strict mode for unpacking objects index-pack: introduce checking mode unpack-objects: prevent writing of inconsistent objects unpack-object: cache for non written objects add common fsck error printing function builtin-fsck: move common object checking code to fsck.c builtin-fsck: reports missing parent commits Remove unused object-ref code builtin-fsck: move away from object-refs to fsck_walk add generic, type aware object chain walker Conflicts: Makefile builtin-fsck.c
| * | | Remove unused object-ref codeMartin Koegler2008-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>