3eb91bf | Stefan Naewe | 17 November 2008, 08:57:19 UTC | request-pull: make usage string match manpage The usage string of 'git request-pull' differs from he manpage which gives the correct 'synopsis'. Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 November 2008, 10:27:18 UTC |
4b4e26d | Junio C Hamano | 16 November 2008, 08:10:25 UTC | Teach ls-files --with-tree=<tree> to work with options other than -c Originally --with-tree=<tree> was designed for the sole purpose of checking if a given pathspec makes sense as a parameter to git-commit using it in conjunction with --error-unmatch. It had logic to avoid showing the same entry (one came from the original index, another from the overlayed tree) twice so that it works with -c (i.e. "show-cached"), but otherwise it was not designed to work with the flags such as -m, -d, etc. This teaches the same logic to cover the codepath for -m and -d. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 November 2008, 08:15:50 UTC |
07e77e4 | Junio C Hamano | 16 November 2008, 08:15:43 UTC | builtin-ls-files.c: coding style fix. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 November 2008, 08:15:50 UTC |
9e77353 | Jan Krüger | 14 November 2008, 17:45:14 UTC | Documentation: git-svn: fix example for centralized SVN clone The example that tells users how to centralize the effort of the initial git svn clone operation doesn't work properly. It uses rebase but that only works if HEAD exists. This adds one extra command to create a somewhat sensible HEAD that should work in all cases. Signed-off-by: Jan Krüger <jk@jk.gs> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 November 2008, 05:49:42 UTC |
de07767 | Christian Couder | 14 November 2008, 12:26:47 UTC | Documentation: fix links to "everyday.html" In some places the links are wrong. They should be: "link:everyday.html", instead of: "linkgit:everyday[7]". This patch fixes that. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 November 2008, 05:48:10 UTC |
d0f19d0 | Brandon Casey | 13 November 2008, 20:20:37 UTC | revision.c: use proper data type in call to sizeof() within xrealloc A type char** was being used instead of char*. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 November 2008, 05:41:19 UTC |
83d0289 | Brandon Casey | 13 November 2008, 20:11:46 UTC | repack: only unpack-unreachable if we are deleting redundant packs The -A option calls pack-objects with the --unpack-unreachable option so that the unreachable objects in local packs are left in the local object store loose. But if the -d option to repack was _not_ used, then these unpacked loose objects are redundant and unnecessary. Update tests in t7701. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 November 2008, 05:39:10 UTC |
e9854a7 | Linus Torvalds | 17 August 2008, 04:25:40 UTC | date/time: do not get confused by fractional seconds The date/time parsing code was confused if the input time HH:MM:SS is followed by fractional seconds. Since we do not record anything finer grained than seconds, we could just drop fractional part, but there is a twist. We have taught people that not just spaces but dot can be used as word separators when spelling things like: $ git log --since 2.days $ git show @{12:34:56.7.days.ago} and we shouldn't mistake "7" in the latter example as a fraction and discard it. The rules are: - valid days of month/mday are always single or double digits. - valid years are either two or four digits No, we don't support the year 600 _anyway_, since our encoding is based on the UNIX epoch, and the day we worry about the year 10,000 is far away and we can raise the limit to five digits when we get closer. - Other numbers (eg "600 days ago") can have any number of digits, but they cannot start with a zero. Again, the only exception is for two-digit numbers, since that is fairly common for dates ("Dec 01" is not unheard of) So that means that any milli- or micro-second would be thrown out just because the number of digits shows that it cannot be an interesting date. A milli- or micro-second can obviously be a perfectly fine number according to the rules above, as long as it doesn't start with a '0'. So if we have 12:34:56.123 then that '123' gets parsed as a number, and we remember it. But because it's bigger than 31, we'll never use it as such _unless_ there is something after it to trigger that use. So you can say "12:34:56.123.days.ago", and because of the "days", that 123 will actually be meaninful now. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 November 2008, 17:06:58 UTC |
3289b9d | Brandon Casey | 13 November 2008, 00:50:26 UTC | t7700: test that 'repack -a' packs alternate packed objects Previously, when 'repack -a' was called and there were no packs in the local repository without a .keep file, the repack would fall back to calling pack-objects with '--unpacked --incremental'. This resulted in the created pack file, if any, to be missing the packed objects in the alternate object store. Test that this specific case has been fixed. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 November 2008, 01:29:41 UTC |
c14639f | Junio C Hamano | 12 November 2008, 23:03:03 UTC | Start 1.6.0.5 cycle Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 23:03:03 UTC |
a1e4760 | Nicolas Pitre | 12 November 2008, 18:23:58 UTC | Fix pack.packSizeLimit and --max-pack-size handling If the limit was sufficiently low, having a single object written could bust the limit (by design), but caused the remaining allowed size to go negative for subsequent objects, which for an unsigned variable is a rather huge limit. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 22:55:03 UTC |
fa7b3c2 | Junio C Hamano | 12 November 2008, 19:52:35 UTC | checkout: Fix "initial checkout" detection Earlier commit 5521883 (checkout: do not lose staged removal, 2008-09-07) tightened the rule to prevent switching branches from losing local changes, so that staged removal of paths can be protected, while attempting to keep a loophole to still allow a special case of switching out of an un-checked-out state. However, the loophole was made a bit too tight, and did not allow switching from one branch (in an un-checked-out state) to check out another branch. The change to builtin-checkout.c in this commit loosens it to allow this, by not insisting the original commit and the new commit to be the same. It also introduces a new function, is_index_unborn (and an associated macro, is_cache_unborn), to check if the repository is truly in an un-checked-out state more reliably, by making sure that $GIT_INDEX_FILE did not exist when populating the in-core index structure. A few places the earlier commit 5521883 added the check for the initial checkout condition are updated to use this function. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 22:16:50 UTC |
0b38227 | Jeff King | 12 November 2008, 08:25:52 UTC | commit: Fix stripping of patch in verbose mode. When the "-v" option is given, we put diff of what is to be committed into the commit template, and then strip it back out again after the user has edited it. We used to look for the diff by searching for the "diff --git a/" header. With diff.mnemonicprefix set in the configuration, however, this pattern does not match. The pattern is loosened to cover this case. Also, if the user puts their own diff in the message (e.g., as a sample output), then we will accidentally trigger the pattern, removing part of their output. We can avoid doing this stripping altogether if the user didn't use "-v" in the first place, so we know that any match we find will be a false positive. [jc: this fix was split out of a series originally meant for master.] Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 21:54:31 UTC |
0d641f7 | Matt Kraai | 07 November 2008, 12:26:55 UTC | Remove the period after the git-check-attr summary The period at the end of the git-check-attr summary causes there to be two periods after the summary in the git(1) manual page. Signed-off-by: Matt Kraai <kraai@ftbfs.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 20:20:31 UTC |
daae062 | Brandon Casey | 10 November 2008, 05:59:58 UTC | pack-objects: extend --local to mean ignore non-local loose objects too With this patch, --local means pack only local objects that are not already packed. Additionally, this fixes t7700 testing whether loose objects in an alternate object database are repacked. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:29:22 UTC |
0f4dc14 | Brandon Casey | 10 November 2008, 05:59:57 UTC | sha1_file.c: split has_loose_object() into local and non-local counterparts Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:29:22 UTC |
3c3df42 | Brandon Casey | 10 November 2008, 05:59:56 UTC | t7700: demonstrate mishandling of loose objects in an alternate ODB Loose objects residing in an alternate object database should not be packed when the -l option to repack is used. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:29:22 UTC |
01af249 | Brandon Casey | 12 November 2008, 17:59:07 UTC | builtin-gc.c: use new pack_keep bitfield to detect .keep file existence Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:28:14 UTC |
f7991d1 | Brandon Casey | 12 November 2008, 17:59:06 UTC | repack: do not fall back to incremental repacking with [-a|-A] When repack is called with either the -a or -A option, the user has requested to repack all objects including those referenced by the alternates mechanism. Currently, if there are no local packs without .keep files, then repack will call pack-objects with the '--unpacked --incremental' options which causes it to exclude alternate packed objects. So, remove this fallback. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:28:13 UTC |
dd71836 | Brandon Casey | 12 November 2008, 17:59:05 UTC | repack: don't repack local objects in packs with .keep file If the user created a .keep file for a local pack, then it can be inferred that the user does not want those objects repacked. This fixes the repack bug tested by t7700. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:28:12 UTC |
e96fb9b | Brandon Casey | 12 November 2008, 17:59:04 UTC | pack-objects: new option --honor-pack-keep This adds a new option to pack-objects which will cause it to ignore an object which appears in a local pack which has a .keep file, even if it was specified for packing. This option will be used by the porcelain repack. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:28:10 UTC |
8d25931 | Brandon Casey | 12 November 2008, 17:59:03 UTC | packed_git: convert pack_local flag into a bitfield and add pack_keep pack_keep will be set when a pack file has an associated .keep file. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:28:08 UTC |
9245ddd | Brandon Casey | 12 November 2008, 17:59:02 UTC | t7700: demonstrate mishandling of objects in packs with a .keep file Objects residing in pack files that have an associated .keep file are not supposed to be repacked into new pack files, but they are. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 November 2008, 18:28:06 UTC |
18afe10 | Martin Koegler | 10 November 2008, 21:47:11 UTC | git push: Interpret $GIT_DIR/branches in a Cogito compatible way Current git versions ignore everything after # (called <head> in the following) when pushing. Older versions (before cf818348f1ab57), interpret #<head> as part of the URL, which make git bail out. As branches origin from Cogito, it is the best to correct this by using the behaviour of cg-push, that is to push HEAD to remote refs/heads/<head>. Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 November 2008, 23:26:40 UTC |
9db56f7 | Daniel Lowe | 10 November 2008, 21:07:52 UTC | Fix non-literal format in printf-style calls These were found using gcc 4.3.2-1ubuntu11 with the warning: warning: format not a string literal and no format arguments Incorporated suggestions from Brandon Casey <casey@nrlssc.navy.mil>. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 November 2008, 22:43:59 UTC |
989206f | Alexandre Julliard | 11 November 2008, 21:09:16 UTC | git-submodule: Avoid printing a spurious message. Fix 'git submodule update' to avoid printing a spurious "Maybe you want to use 'update --init'?" once for every uninitialized submodule it encounters. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 November 2008, 21:48:04 UTC |
0a2bb55 | Stefan Naewe | 11 November 2008, 15:52:31 UTC | git ls-remote: make usage string match manpage The usage string of 'git ls-remote' is pretty terse. The manpage however gives the correct 'synopsis'. Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 November 2008, 21:24:00 UTC |
912f998 | Junio C Hamano | 11 November 2008, 21:12:17 UTC | Makefile: help people who run 'make check' by mistake The target to run self test is 'make test', but there are people who try 'make check' and worse yet do not have sparse installed. Suggest 'make test' target when they do not have 'sparse'. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 November 2008, 21:12:17 UTC |
5bcce84 | Christian Couder | 09 November 2008, 13:53:14 UTC | Documentation: bisect: change a few instances of "git-cmd" to "git cmd" Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2008, 18:20:03 UTC |
6514aa3 | Christian Couder | 09 November 2008, 13:46:35 UTC | Documentation: rev-list: change a few instances of "git-cmd" to "git cmd" Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2008, 18:19:38 UTC |
323e00f | Alexandre Julliard | 08 November 2008, 12:03:59 UTC | checkout: Don't crash when switching away from an invalid branch. When using alternates, it is possible for HEAD to end up pointing to an invalid commit. git checkout should be able to recover from that situation without crashing. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2008, 18:11:39 UTC |
7c181d6 | Junio C Hamano | 09 November 2008, 01:33:50 UTC | GIT 1.6.0.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2008, 05:29:22 UTC |
ee5391c | Quy Tonthat | 12 September 2008, 16:22:44 UTC | Update RPM spec for the new location of git-cvsserver. git-cvsserver has been moved from libexecdir to bindir. Signed-off-by: Quy Tonthat <qtonthat@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2008, 05:29:22 UTC |
832e719 | Junio C Hamano | 09 November 2008, 01:32:49 UTC | Merge branch 'cb/maint-update-ref-fix' into maint * cb/maint-update-ref-fix: push: fix local refs update if already up-to-date do not force write of packed refs | 09 November 2008, 01:32:49 UTC |
2819854 | Junio C Hamano | 09 November 2008, 00:50:25 UTC | Merge branch 'cj/maint-gitpm-fix-maybe-self' into maint * cj/maint-gitpm-fix-maybe-self: Git.pm: do not break inheritance | 09 November 2008, 00:50:25 UTC |
8b1981d | Junio C Hamano | 09 November 2008, 00:13:19 UTC | Merge branch 'ar/maint-mksnpath' into maint * ar/maint-mksnpath: Use git_pathdup instead of xstrdup(git_path(...)) git_pathdup: returns xstrdup-ed copy of the formatted path Fix potentially dangerous use of git_path in ref.c Add git_snpath: a .git path formatting routine with output buffer Fix potentially dangerous uses of mkpath and git_path Fix mkpath abuse in dwim_ref and dwim_log of sha1_name.c Add mksnpath which allows you to specify the output buffer Conflicts: builtin-revert.c rerere.c | 09 November 2008, 00:13:19 UTC |
3b8572a | Junio C Hamano | 09 November 2008, 00:07:37 UTC | Merge branch 'mv/maint-branch-m-symref' into maint * mv/maint-branch-m-symref: update-ref --no-deref -d: handle the case when the pointed ref is packed git branch -m: forbid renaming of a symref Fix git update-ref --no-deref -d. rename_ref(): handle the case when the reflog of a ref does not exist Fix git branch -m for symrefs. | 09 November 2008, 00:07:37 UTC |
16ed2f4 | Clemens Buchacher | 05 November 2008, 20:55:54 UTC | push: fix local refs update if already up-to-date git push normally updates local refs only after a successful push. If the remote already has the updates -- pushed indirectly through another repository, for example -- we forget to update local tracking refs. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 November 2008, 22:22:10 UTC |
5bdd8d4 | Clemens Buchacher | 05 November 2008, 20:55:53 UTC | do not force write of packed refs We force writing a ref if it does not exist. Originally, we only had to look for the ref file to check if it existed. Now we have to look for a packed ref as well. Luckily, resolve_ref already does all the work for us. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 November 2008, 22:09:43 UTC |
e0e03a7 | Samuel Tardieu | 04 November 2008, 23:20:36 UTC | tag: Add more tests about mixing incompatible modes and options Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 November 2008, 23:46:47 UTC |
6fa8342 | Samuel Tardieu | 04 November 2008, 23:20:31 UTC | tag: Check that options are only allowed in the appropriate mode If "git tag -d -l -v ..." is called, only "-l" is honored, which is arbitrary and wrong. Also, unrecognized options are accepted in the wrong modes, causing for example "git tag -n 100" to create a tag named "100" while the user may have wanted to type "git tag -n100". This patch checks that "git tag" knows in what mode it operates before performing any operation and accepts only the related options. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 November 2008, 23:46:39 UTC |
16088d8 | Junio C Hamano | 03 November 2008, 04:45:55 UTC | format-patch documentation: mention the special case of showing a single commit Even long timers seem to have missed that "format-patch -1 $commit" is a much simpler and more obvious way to say "format-patch $commit^..$commit" from the current documentation (and an example "format-patch -3 $commit" to get three patches). Add an explicit instruction in a much earlier part of the documentation to make it easier to find. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 November 2008, 04:45:55 UTC |
a5a323f | Yann Dirson | 02 November 2008, 13:37:28 UTC | Add reference for status letters in documentation. Also fix error in diff_filepair::status documentation, and point to the in-code reference as well as the doc. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 23:57:10 UTC |
7756ba7 | Mikael Magnusson | 02 November 2008, 18:32:46 UTC | Document that git-log takes --all-match. Signed-off-by: Mikael Magnusson <mikachu@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 23:51:37 UTC |
02893a8 | Junio C Hamano | 02 November 2008, 22:35:41 UTC | Update draft 1.6.0.4 release notes Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 22:35:41 UTC |
f6276b7 | Junio C Hamano | 02 November 2008, 21:37:16 UTC | Merge branch 'js/maint-fetch-update-head' into maint * js/maint-fetch-update-head: pull: allow "git pull origin $something:$current_branch" into an unborn branch Fix fetch/pull when run without --update-head-ok | 02 November 2008, 21:37:16 UTC |
86e67a0 | Junio C Hamano | 02 November 2008, 21:37:13 UTC | Merge branch 'jk/maint-ls-files-other' into maint * jk/maint-ls-files-other: refactor handling of "other" files in ls-files and status | 02 November 2008, 21:37:13 UTC |
d11ddaf | Junio C Hamano | 02 November 2008, 21:36:20 UTC | Merge branch 'jc/maint-reset-remove-unmerged-new' into maint * jc/maint-reset-remove-unmerged-new: reset --hard/read-tree --reset -u: remove unmerged new paths | 02 November 2008, 21:36:20 UTC |
581000a | Junio C Hamano | 02 November 2008, 21:36:14 UTC | Merge branch 'jc/maint-co-track' into maint * jc/maint-co-track: Enhance hold_lock_file_for_{update,append}() API demonstrate breakage of detached checkout with symbolic link HEAD Fix "checkout --track -b newbranch" on detached HEAD | 02 November 2008, 21:36:14 UTC |
1a9016a | Junio C Hamano | 02 November 2008, 07:14:04 UTC | Start 1.6.0.4 cycle Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 07:14:04 UTC |
c2163c6 | Tom Preston-Werner | 01 November 2008, 15:28:18 UTC | add instructions on how to send patches to the mailing list with Gmail Gmail is one of the most popular email providers in the world. Now that Gmail supports IMAP, sending properly formatted patches via `git imap-send` is trivial. This section in SubmittingPatches explains how to do so. Signed-off-by: Tom Preston-Werner <tom@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 06:48:52 UTC |
4f73e24 | Jakub Narebski | 01 November 2008, 06:24:55 UTC | Documentation/gitattributes: Add subsection header for each attribute This makes attributes easier to find; before this patch some attributes had individual subsections, and some didn't. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 06:48:48 UTC |
8c17868 | Pierre Habouzit | 31 October 2008, 18:57:10 UTC | git send-email: avoid leaking directory file descriptors. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 06:48:45 UTC |
30affa1 | Jeff King | 29 October 2008, 05:17:55 UTC | send-pack: do not send out single-level refs such as refs/stash Since no version of receive-pack accepts these "funny refs", we should mirror the check when considering the list of refs to send. IOW, don't even make them eligible for matching or mirroring. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 06:48:39 UTC |
1442171 | Jeff King | 23 October 2008, 04:32:23 UTC | fix overlapping memcpy in normalize_absolute_path The comments for normalize_absolute_path explicitly claim that the source and destination buffers may be the same (though they may not otherwise overlap). Thus the call to memcpy may involve copying overlapping data, and memmove should be used instead. This fixes a valgrind error in t1504. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 06:46:53 UTC |
421b488 | Jeff King | 23 October 2008, 04:31:03 UTC | pack-objects: avoid reading uninitalized data In the main loop of find_deltas, we do: struct object_entry *entry = *list++; ... if (!*list_size) ... break Because we look at and increment *list _before_ the check of list_size, in the very last iteration of the loop we will look at uninitialized data, and increment the pointer beyond one past the end of the allocated space. Since we don't actually do anything with the data until after the check, this is not a problem in practice. But since it technically violates the C standard, and because it provokes a spurious valgrind warning, let's just move the initialization of entry to a safe place. This fixes valgrind errors in t5300, t5301, t5302, t303, and t9400. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 06:46:40 UTC |
13494ed | Jeff King | 23 October 2008, 04:30:58 UTC | correct cache_entry allocation Most cache_entry structs are allocated by using the cache_entry_size macro, which rounds the size of the struct up to the nearest multiple of 8 bytes (presumably to avoid memory fragmentation). There is one exception: the special "conflict entry" is allocated with an empty name, and so is explicitly given just one extra byte to hold the NUL. However, later code doesn't realize that this particular struct has been allocated differently, and happily tries reading and copying it based on the ce_size macro, which assumes the 8-byte alignment. This can lead to reading uninitalized data, though since that data is simply padding, there shouldn't be any problem as a result. Still, it makes sense to hold the padding assumption so as not to surprise later maintainers. This fixes valgrind errors in t1005, t3030, t4002, and t4114. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2008, 06:46:34 UTC |
faf1dc7 | Junio C Hamano | 02 November 2008, 05:31:14 UTC | Merge branch 'maint' of git://repo.or.cz/git-gui into maint * 'maint' of git://repo.or.cz/git-gui: git-gui: Help identify aspell version on Windows too | 02 November 2008, 05:31:14 UTC |
045a476 | Miklos Vajna | 31 October 2008, 23:25:44 UTC | update-ref --no-deref -d: handle the case when the pointed ref is packed In this case we did nothing in the past, but we should delete the reference in fact. The problem was that when the symref is not packed but the referenced ref is packed, then we assumed that the symref is packed as well, but symrefs are never packed. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 November 2008, 05:41:55 UTC |
e855bfc | Deskin Miller | 31 October 2008, 04:10:25 UTC | git-svn: change dashed git-commit-tree to git commit-tree Signed-off-by: Deskin Miller <deskinm@umich.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 08:22:48 UTC |
2c850f1 | Jan Krüger | 30 October 2008, 18:14:33 UTC | Documentation: clarify information about 'ident' attribute The documentation spoke of the attribute being set "to" a path; this can mistakenly be interpreted as "the attribute needs to have its value set to some kind of path". This clarifies things. Signed-off-by: Jan Krüger <jk@jk.gs> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 08:07:10 UTC |
41d8cf7 | Markus Heidelberg | 31 October 2008, 00:04:46 UTC | bash completion: add doubledash to "git show" Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 07:46:27 UTC |
111539a | Alex Riesen | 30 October 2008, 10:20:27 UTC | Use test-chmtime -v instead of perl in t5000 to get mtime of a file The test was broken on admittedly broken combination of Windows, Cygwin, and ActiveState Perl. Signed-off-by: Alex Riesen <ariesen@harmanbecker.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 07:34:41 UTC |
0ea9ca0 | Alex Riesen | 30 October 2008, 09:00:29 UTC | Add --verbose|-v to test-chmtime This allows us replace perl when getting the mtime of a file because of time zone conversions, though at the moment only one platform which does this has been identified: Cygwin when used with ActiveState Perl (as usual). The output format is: <mtime1> TAB <filename1> <LF> <mtime2> TAB <filename2> <LF> ... which, if only mtime is needed can be parsed with cut(1): test-chmtime -v +0 filename1 | cut -f 1 Also, the change adds a description of programs features, with examples. Signed-off-by: Alex Riesen <ariesen@harmanbecker.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 07:19:52 UTC |
9b6f84d | Jonas Fonseca | 30 October 2008, 10:45:03 UTC | asciidoc: add minor workaround to add an empty line after code blocks Insert an empty <simpara> in manpages after code blocks to force and empty line. The problem can be seen on the manpage for the git tutorial, where an example command and the following paragraph is printed with no empty line between them: First, note that you can get documentation for a command such as git log --graph with: $ man git-log It is a good idea to introduce yourself to git [...] Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 06:41:28 UTC |
a4f34cb | Alex Riesen | 27 October 2008, 10:22:09 UTC | Use git_pathdup instead of xstrdup(git_path(...)) Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 00:52:24 UTC |
aba13e7 | Alex Riesen | 27 October 2008, 10:17:51 UTC | git_pathdup: returns xstrdup-ed copy of the formatted path Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 00:30:55 UTC |
958a478 | Alex Riesen | 27 October 2008, 10:11:40 UTC | Fix potentially dangerous use of git_path in ref.c Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 00:18:29 UTC |
fe2d777 | Alex Riesen | 27 October 2008, 09:22:21 UTC | Add git_snpath: a .git path formatting routine with output buffer The function's purpose is to replace git_path where the buffer of formatted path may not be reused by subsequent calls of the function or will be copied anyway. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2008, 00:00:14 UTC |
d258b25 | Alex Riesen | 28 October 2008, 17:27:33 UTC | Plug a memleak in builtin-revert Probably happened when working around git_path's problem with returned buffer being reused. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 October 2008, 21:01:00 UTC |
fa58186 | Miklos Vajna | 29 October 2008, 00:05:27 UTC | git branch -m: forbid renaming of a symref There may be cases where one would really want to rename the symbolic ref without changing its value, but "git branch -m" is not such a use-case. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 October 2008, 20:50:48 UTC |
6e381d3 | Linus Torvalds | 27 October 2008, 20:06:16 UTC | Add file delete/create info when we overflow rename_limit When we refuse to do rename detection due to having too many files created or deleted, let the user know the numbers. That way there is a reasonable starting point for setting the diff.renamelimit option. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 October 2008, 15:58:42 UTC |
1df2a1c | Nanako Shiraishi | 10 September 2008, 11:03:18 UTC | Install git-cvsserver in $(bindir) It is one of the server side programs and needs to be found on usual $PATH. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 October 2008, 15:57:08 UTC |
1837865 | Tommi Virtanen | 24 August 2008, 20:23:25 UTC | Install git-shell in bindir, too /etc/passwd shell field must be something execable, you can't enter "/usr/bin/git shell" there. git-shell must be present as a separate executable, or it is useless. Signed-off-by: Tommi Virtanen <tv@eagain.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 October 2008, 15:56:47 UTC |
9fa03c1 | Alex Riesen | 26 October 2008, 22:08:52 UTC | Fix potentially dangerous uses of mkpath and git_path Replace them with mksnpath/git_snpath and a local buffer for the resulting string. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 October 2008, 05:10:28 UTC |
94cc355 | Alex Riesen | 26 October 2008, 22:07:24 UTC | Fix mkpath abuse in dwim_ref and dwim_log of sha1_name.c Otherwise the function sometimes fail to resolve obviously correct refnames, because the string data pointed to by "str" argument were reused. The change in dwim_log does not fix anything, just optimizes away strcpy code as the path can be created directly in the available buffer. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 October 2008, 05:10:28 UTC |
108bebe | Alex Riesen | 26 October 2008, 21:59:13 UTC | Add mksnpath which allows you to specify the output buffer This is just vsnprintf's but additionally calls cleanup_path() on the result. To be used as alternatives to mkpath() where the buffer for the created path may not be reused by subsequent calls of the same formatting function. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 October 2008, 05:08:58 UTC |
9fe7a64 | Thomas Rast | 26 October 2008, 19:37:06 UTC | add -p: warn if only binary changes present Current 'git add -p' will say "No changes." if there are no changes to text files, which can be confusing if there _are_ changes to binary files. Add some code to distinguish the two cases, and give a different message in the latter one. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 October 2008, 23:20:24 UTC |
ddff856 | Charles Bailey | 25 October 2008, 15:38:14 UTC | git-archive: work in bare repos This moves the call to git_config to a place where it doesn't break the logic for using git archive in a bare repository but retains the fix to make git archive respect core.autocrlf. Tests are by René Scharfe. Signed-off-by: Charles Bailey <charles@hashpling.org> Tested-by: Deskin Miller <deskinm@umich.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 October 2008, 23:19:59 UTC |
569740b | Miklos Vajna | 26 October 2008, 02:33:58 UTC | Fix git update-ref --no-deref -d. Till now --no-deref was just ignored when deleting refs, fix this. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 October 2008, 21:44:25 UTC |
450d4c0 | Miklos Vajna | 26 October 2008, 02:33:57 UTC | rename_ref(): handle the case when the reflog of a ref does not exist We tried to check if a reflog of a ref is a symlink without first checking if it exists, which is a bug. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 October 2008, 21:43:26 UTC |
eca35a2 | Miklos Vajna | 26 October 2008, 02:33:56 UTC | Fix git branch -m for symrefs. This had two problems with symrefs. First, it copied the actual sha1 instead of the "pointer", second it failed to remove the old ref after a successful rename. Given that till now delete_ref() always dereferenced symrefs, a new parameters has been introduced to delete_ref() to allow deleting refs without a dereference. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 October 2008, 21:42:57 UTC |
225f1d0 | Deskin Miller | 23 October 2008, 19:21:34 UTC | git-svn: change dashed git-config to git config Signed-off-by: Deskin Miller <deskinm@umich.edu> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 October 2008, 23:20:30 UTC |
031e6c8 | Junio C Hamano | 21 October 2008, 20:37:42 UTC | GIT 1.6.0.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 October 2008, 20:37:42 UTC |
a672ea6 | Nicolas Pitre | 21 October 2008, 01:17:07 UTC | rehabilitate 'git index-pack' inside the object store Before commit d0b92a3f6e it was possible to run 'git index-pack' directly in the .git/objects/pack/ directory. Restore that ability. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 October 2008, 20:20:03 UTC |
5610e3b | Junio C Hamano | 20 October 2008, 05:51:17 UTC | Fix testcase failure when extended attributes are in use 06cbe855 (Make core.sharedRepository more generic, 2008-04-16) made several testcases in t1301-shared-repo.sh which fail if on a system which creates files with extended attributes (e.g. SELinux), since ls appends a '+' sign to the permission set in such cases. In fact, POSIX.1 allows ls to add a single printable character after the usual 3x3 permission bits to show that an optional alternate/additional access method is associated with the path. This fixes the testcase to strip any such sign prior to verifying the permission set. Signed-off-by: Junio C Hamano <gitster@pobox.com> Tested-by: Deskin Miller <deskinm@umich.edu> | 20 October 2008, 05:51:17 UTC |
d8b24b9 | Christian Jaeger | 18 October 2008, 18:25:12 UTC | Git.pm: do not break inheritance Make it possible to write subclasses of Git.pm Signed-off-by: Christian Jaeger <christian@jaeger.mine.nu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 October 2008, 21:46:33 UTC |
acd3b9e | Junio C Hamano | 17 October 2008, 22:44:39 UTC | Enhance hold_lock_file_for_{update,append}() API This changes the "die_on_error" boolean parameter to a mere "flags", and changes the existing callers of hold_lock_file_for_update/append() functions to pass LOCK_DIE_ON_ERROR. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 October 2008, 19:35:37 UTC |
f563754 | Junio C Hamano | 17 October 2008, 22:56:11 UTC | demonstrate breakage of detached checkout with symbolic link HEAD When core.prefersymlinkrefs is in use, detaching the HEAD by checkout incorrectly clobbers the tip of the current branch. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 October 2008, 19:35:04 UTC |
09cff06 | Abhijit Bhopatkar | 19 October 2008, 04:19:23 UTC | Documentation: Clarify '--signoff' for git-commit '--signoff' uses commiter name always to add the signoff line, make it explicit in the documentation. Signed-off-by: Abhijit Bhopatkar <bain@devslashzero.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 October 2008, 05:19:52 UTC |
d1a43f2 | Junio C Hamano | 15 October 2008, 23:00:06 UTC | reset --hard/read-tree --reset -u: remove unmerged new paths When aborting a failed merge that has brought in a new path using "git reset --hard" or "git read-tree --reset -u", we used to first forget about the new path (via read_cache_unmerged) and then matched the working tree to what is recorded in the index, thus ending up leaving the new path in the work tree. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 October 2008, 17:00:59 UTC |
f430c8e | Junio C Hamano | 18 October 2008, 15:26:39 UTC | Hopefully the final draft release notes update before 1.6.0.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 October 2008, 15:26:39 UTC |
f07c3c5 | Junio C Hamano | 18 October 2008, 15:20:51 UTC | diff(1): clarify what "T"ypechange status means Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 October 2008, 15:20:51 UTC |
a38bb0c | Junio C Hamano | 18 October 2008, 15:18:11 UTC | Merge branch 'db/maint-checkout-b' into maint * db/maint-checkout-b: Check early that a new branch is new and valid | 18 October 2008, 15:18:11 UTC |
3b1eb12 | Dan McGee | 18 October 2008, 02:41:18 UTC | contrib: update packinfo.pl to not use dashed commands Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 October 2008, 13:20:27 UTC |
1fb23e6 | Björn Steinbrink | 18 October 2008, 00:37:31 UTC | force_object_loose: Fix memory leak read_packed_sha1 expectes its caller to free the buffer it returns, which force_object_loose didn't do. This leak is eventually triggered by "git gc", when it is manually invoked or there are too many packs around, making gc totally unusable when there are lots of unreachable objects. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Acked-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 October 2008, 13:19:06 UTC |
51a94af | Junio C Hamano | 17 October 2008, 06:37:44 UTC | Fix "checkout --track -b newbranch" on detached HEAD The test to make sure that checkout fails when --track was asked for and we cannot set up tracking information in t7201 was wrong, and it turns out that the implementation for that feature itself was buggy. This fixes it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 October 2008, 21:35:06 UTC |
98fa473 | Jeff King | 16 October 2008, 15:07:26 UTC | refactor handling of "other" files in ls-files and status When the "git status" display code was originally converted to C, we copied the code from ls-files to discover whether a pathname returned by read_directory was an "other", or untracked, file. Much later, 5698454e updated the code in ls-files to handle some new cases caused by gitlinks. This left the code in wt-status.c broken: it would display submodule directories as untracked directories. Nobody noticed until now, however, because unless status.showUntrackedFiles was set to "all", submodule directories were not actually reported by read_directory. So the bug was only triggered in the presence of a submodule _and_ this config option. This patch pulls the ls-files code into a new function, cache_name_is_other, and uses it in both places. This should leave the ls-files functionality the same and fix the bug in status. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 October 2008, 19:46:59 UTC |
7213080 | Jeff King | 13 October 2008, 09:35:59 UTC | tests: shell negation portability fix Commit 969c8775 introduced a test which uses the non-portable construct: command1 && ! command2 | command3 which must be command1 && ! (command2 | command3) to work on bsd shells (this is another example of bbf08124, which fixed several similar cases). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 October 2008, 18:30:54 UTC |
b0ad11e | Junio C Hamano | 14 October 2008, 22:32:20 UTC | pull: allow "git pull origin $something:$current_branch" into an unborn branch Some misguided documents floating on the Net suggest this sequence: mkdir newdir && cd newdir git init git remote add origin $url git pull origin master:master "git pull" has known about misguided "pull" that lets the underlying fetch update the current branch for a long time. It also has known about "git pull origin master" into a branch yet to be born. These two workarounds however were not aware of the existence of each other and did not work well together. This fixes it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 October 2008, 18:26:20 UTC |