summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-08-30cherry-pick/revert: respect order of revisions to pickLibravatar Martin von Zweigbergk3-3/+7
When giving multiple individual revisions to cherry-pick or revert, as in 'git cherry-pick A B' or 'git revert B A', one would expect them to be picked/reverted in the order given on the command line. They are instead ordered by their commit timestamp -- in chronological order for "cherry-pick" and in reverse chronological order for "revert". This matches the order in which one would usually give them on the command line, making this bug somewhat hard to notice. Still, it has been reported at least once before [1]. It seems like the chronological sorting happened by accident because the revision walker has traditionally always sorted commits in reverse chronological order when rev_info.no_walk was enabled. In the case of 'git revert B A' where B is newer than A, this sorting is a no-op. For 'git cherry-pick A B', the sorting would reverse the arguments, but because the sequencer also flips the rev_info.reverse flag when picking (as opposed to reverting), the end result is a chronological order. The rev_info.reverse flag was probably flipped so that the revision walker emits B before C in 'git cherry-pick A..C'; that it happened to effectively undo the unexpected sorting done when not walking, was probably a coincidence that allowed this bug to happen at all. Fix the bug by telling the revision walker not to sort the commits when not walking. The only case we want to reverse the order is now when cherry-picking and walking revisions (rev_info.no_walk = 0). [1] http://thread.gmane.org/gmane.comp.version-control.git/164794 Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-30demonstrate broken 'git cherry-pick three one two'Libravatar Martin von Zweigbergk1-0/+15
Cherry-picking commits out of order (w.r.t. commit time stamp) doesn't currently work. Add a test case to demonstrate it. Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-30teach log --no-walk=unsorted, which avoids sortingLibravatar Martin von Zweigbergk6-9/+40
When 'git log' is passed the --no-walk option, no revision walk takes place, naturally. Perhaps somewhat surprisingly, however, the provided revisions still get sorted by commit date. So e.g 'git log --no-walk HEAD HEAD~1' and 'git log --no-walk HEAD~1 HEAD' give the same result (unless the two revisions share the commit date, in which case they will retain the order given on the command line). As the commit that introduced --no-walk (8e64006 (Teach revision machinery about --no-walk, 2007-07-24)) points out, the sorting is intentional, to allow things like git log --abbrev-commit --pretty=oneline --decorate --all --no-walk to show all refs in order by commit date. But there are also other cases where the sorting is not wanted, such as <command producing revisions in order> | git log --oneline --no-walk --stdin To accomodate both cases, leave the decision of whether or not to sort up to the caller, by allowing --no-walk={sorted,unsorted}, defaulting to 'sorted' for backward-compatibility reasons. Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-17Git 1.7.11Libravatar Junio C Hamano3-10/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-17Sync with 1.7.10.5Libravatar Junio C Hamano2-1/+14
2012-06-17Git 1.7.10.5Libravatar Junio C Hamano4-3/+16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-17Do not autosquash in case of an implied interactive rebaseLibravatar Vincent van Ravesteijn1-0/+1
The option to autosquash is only used in case of an interactive rebase. When merges are preserved, rebase uses an interactive rebase internally, but in this case autosquash should still be disabled. Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-17Merge branch 'js/maint-fast-export-mark-error' into maintLibravatar Junio C Hamano1-1/+1
"git fast-export" did not give a readable error message when the same mark erroneously appeared twice in the --import-marks input.
2012-06-15Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano2-703/+927
Updated Italian translations. * git://github.com/git-l10n/git-po: l10n: it.po: translate 212 new messages
2012-06-15Merge branch 'as/diff-shortstat-ignore-binary'Libravatar Junio C Hamano2-1/+13
# By Alexander Strasser * as/diff-shortstat-ignore-binary: diff: Only count lines in show_shortstats
2012-06-15diff: Only count lines in show_shortstatsLibravatar Alexander Strasser2-1/+13
Do not mix byte and line counts. Binary files have byte counts; skip them when accumulating line insertions/deletions. The regression was introduced in e18872b. Signed-off-by: Alexander Strasser <eclipse7@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-15perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, tooLibravatar Jonathan Nieder1-7/+24
v1.7.11-rc1~12^2~2 (2012-05-27) and friends split some git-svn code into separate modules but did not update the fallback rules to install them when NO_PERL_MAKEMAKER is set. Add the appropriate rules so users without MakeMaker can use git-svn again. Affected modules: Git::SVN::Prompt, Git::SVN::Fetcher, Git::SVN::Editor, Git::SVN::Ra, Git::SVN::Memoize::YAML. Reported-by: Adam Roben <adam@roben.org> Signed-off-by: Jonathan Nieder <jrnieder@gmali.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-15perl/Makefile.PL: warn about duplicate module list in perl/MakefileLibravatar Jonathan Nieder1-0/+4
Adding or removing a module requires modifying both files to support builds with and without MakeMaker. Add a comment to remind patch authors and reviewers at the crucial moment. Longer term, it would be nicer to maintain a single list, perhaps in a separate file used by both build systems. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-14l10n: it.po: translate 212 new messagesLibravatar Marco Paolone2-703/+927
Signed-off-by: Marco Paolone <marcopaolone@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-06-13Merge branch 'rj/gitweb-test-sans-date-parser'Libravatar Junio C Hamano1-7/+14
Regression fix to t9501 introduced at 0f3ddd4 * rj/gitweb-test-sans-date-parser: gitweb: Skip 'modification times' tests when no date parser available
2012-06-13Merge branch 'fc/git-complete-helper-fix'Libravatar Junio C Hamano2-8/+8
* fc/git-complete-helper-fix: completion: put main git and gitk completion functions back into git namespace
2012-06-13completion: remove credential helpers from porcelain commandsLibravatar SZEDER Gábor1-0/+2
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-13completion: put main git and gitk completion functions back into git namespaceLibravatar SZEDER Gábor2-8/+8
Commit 7f02f3d7 (completion: rename internal helpers _git and _gitk, 2012-05-19) renamed said functions to _main_git() and _main_gitk(), respectively. By convention the name of our git-completion-specific functions start with '_git' or '__git' prefix, so rename those functions once again to put them back into our "namespace". Use the two underscore prefix, because _git_main() could be mistaken for the completion function of the (not yet existing) 'git main' command. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-12gitweb: Skip 'modification times' tests when no date parser availableLibravatar Ramsay Jones1-7/+14
The If-Modified-Since support in Gitweb is conditional on the availability of a date parser from either the HTTP::Date or Time::ParseDate modules. If a suitable parser is not available, then the corresponding 'modification times' tests should be skipped. Introduce the DATE_PARSER test prerequisite and use it to skip all of the dependent tests. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-12Git 1.7.11-rc3Libravatar Junio C Hamano2-2/+7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-12Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano4-38/+777
Updates to German, Vietnamese and simplified Chinese translation. * git://github.com/git-l10n/git-po: l10n: de.po: translate 27 new messages l10n: Update po/vi.po to v1.7.11.rc2.2.gb694fbb l10n: zh_CN.po: translate 27 new messages l10n: Update git.pot (27 new, 1 removed messages)
2012-06-12Merge git://github.com/ralfth/git-po-deLibravatar Jiang Xin1-6/+210
By Ralf Thielow via Ralf Thielow * github.com/ralfth/git-po-de: l10n: de.po: translate 27 new messages
2012-06-12Merge branch 'mm/api-credentials-doc'Libravatar Junio C Hamano1-1/+4
* mm/api-credentials-doc: api-credential.txt: document that helpers field is filled-in automatically
2012-06-12Merge branch 'jc/fmt-merge-msg-people'Libravatar Junio C Hamano2-20/+20
Tone down the lines that credit people involved and make them comments, so that integrators who edit their merge messages can still make use of the information, but lazy ones will not leave the unverified guesses placed on the "via" line. * jc/fmt-merge-msg-people: fmt-merge-msg: make attribution into comment lines
2012-06-12api-credential.txt: document that helpers field is filled-in automaticallyLibravatar Matthieu Moy1-1/+4
It was unclear whether the field was to be specified by the user of the API. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-12Merge branch 'js/maint-fast-export-mark-error'Libravatar Junio C Hamano1-1/+1
* js/maint-fast-export-mark-error: fast-export: report SHA-1 instead of gibberish when marks exist already
2012-06-12fast-export: report SHA-1 instead of gibberish when marks exist alreadyLibravatar Johannes Schindelin1-1/+1
Cc: Pieter de Bie <pdebie@ai.rug.nl> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Max Horn <max@quendi.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-11l10n: de.po: translate 27 new messagesLibravatar Ralf Thielow1-6/+210
Translate 27 new messages came from git.pot update in 7256fd7 (l10n: Update git.pot (27 new, 1 removed messages)). Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
2012-06-10git-svn: use YAML format for mergeinfo cache when possibleLibravatar Jonathan Nieder3-6/+119
Since v1.7.0-rc2~11 (git-svn: persistent memoization, 2010-01-30), git-svn has maintained some private per-repository caches in .git/svn/.caches to avoid refetching and recalculating some mergeinfo-related information with every "git svn fetch". These caches use the 'nstore' format from the perl core module Storable, which can be read and written quickly and was designed for transfer over the wire (the 'n' stands for 'network'). This format is endianness-independent and independent of floating-point representation. Unfortunately the format is *not* independent of the perl version --- new perl versions will write files that very old perl cannot read. Worse, the format is not independent of the size of a perl integer. So if you toggle perl's use64bitint compile-time option, then using 'git svn fetch' on your old repositories produces errors like this: Byte order is not compatible at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_retrieve.al) line 380, at /usr/share/perl/5.12/Memoize/Storable.pm line 21 That is, upgrading perl to a version that uses use64bitint for the first time makes git-svn suddenly refuse to fetch in existing repositories. Removing .git/svn/.caches lets git-svn recover. It's time to switch to a platform independent serializer backend with better compatibility guarantees. This patch uses YAML::Any. Other choices were considered: - thawing data from Data::Dumper involves "eval". Doing that without creating a security risk is fussy. - the JSON API works on scalars in memory and doesn't provide a standard way to serialize straight to disk. YAML::Any is reasonably fast and has a pleasant API. In most backends, LoadFile() reads the entire file into a scalar anyway and converts it as a second step, but having an interface that allows the deserialization to happen on the fly without a temporary is still a comfort. YAML::Any is not a core perl module, so we take care to use it when and only when it is available. Installations without that module should fall back to using Storable with all its quirks, keeping their cache files in .git/svn/.caches/*.db Installations with YAML peacefully coexist by keeping a separate set of cache files in .git/svn/.caches/*.yaml. In most cases, switching between is a one-time thing, so it doesn't seem worth the complication to migrate existing caches. The upshot: after this patch, as long as YAML::Any is installed you can move your git repository between machines with different perl installations and "git svn fetch" will work fine. If you do not have YAML::Any, the behavior is unchanged (and in particular does not get any worse). Reported-by: Sandro Weiser <sandro.weiser@informatik.tu-chemnitz.de> Reported-by: Bdale Garbee <bdale@gag.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-06-10git-svn: make Git::SVN::RA a separate fileLibravatar Jonathan Nieder3-611/+660
This slices off another 600 or so lines from the frighteningly long git-svn.perl script. The Git::SVN::Ra interface is similar enough to SVN::Ra that it is probably safe to ignore most of its implementation on first reading. (Documenting or moving functions that do not fit that pattern is left as an exercise to the interested reader.) [ew: rebased and fixed conflict against commit c26ddce86d7215b4d9687bd4c6b5dd43a3fabf31 (git-svn: platform auth providers are working only on 1.6.15 or newer)] Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-06-10git-svn: make Git::SVN::Editor a separate fileLibravatar Jonathan Nieder4-471/+541
This makes the git-svn script shorter and less scary for beginners to read through for the first time. Take the opportunity to explain the purpose and basic interface of the Git::SVN::Editor class while at it. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-06-09l10n: Update po/vi.po to v1.7.11.rc2.2.gb694fbbLibravatar Tran Ngoc Quan1-8/+204
* Translated 28 strings. Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-06-08Merge branch 'mm/api-credentials-doc'Libravatar Junio C Hamano5-6/+8
Finishing touches... * mm/api-credentials-doc: docs: fix cross-directory linkgit references
2012-06-08docs: fix cross-directory linkgit referencesLibravatar Jeff King5-6/+8
Most of our documentation is in a single directory, so using linkgit:git-config[1] just generates a relative link in the same directory. However, this is not the case with the API documentation in technical/*, which need to refer to git-config from the parent directory. We can fix this by passing a special prefix attribute when building in a subdirectory, and respecting that prefix in our linkgit definitions. We only have to modify the html linkgit definition. For manpages, we can ignore this for two reasons: 1. we do not generate actual links to the file in manpages, but instead just give the name and section of the linked manpage 2. we do not currently build manpages for subdirectories, only html Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-08l10n: zh_CN.po: translate 27 new messagesLibravatar Jiang Xin1-20/+197
Translate 19 new and 8 fuzzy messages which are marked by shell gettext wrappers, and ignored by previous 'git.pot' updates. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-06-08l10n: Update git.pot (27 new, 1 removed messages)Libravatar Jiang Xin1-4/+166
Extract messages marked by shell gettext wrappers which are ignored before. See: * http://thread.gmane.org/gmane.comp.version-control.git/199112 Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-06-07Git 1.7.11-rc2Libravatar Junio C Hamano2-12/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-07Merge branch 'mm/api-credentials-doc'Libravatar Junio C Hamano3-7/+60
* mm/api-credentials-doc: api-credentials.txt: add "see also" section api-credentials.txt: mention credential.helper explicitly api-credentials.txt: show the big picture first doc: fix xref link from api docs to manual pages
2012-06-07Merge branch 'rr/maint-t3510-cascade-fix'Libravatar Junio C Hamano1-1/+1
* rr/maint-t3510-cascade-fix: t3510 (cherry-pick-sequence): add missing '&&'
2012-06-07Merge branch 'jc/svn-auth-providers-unusable-at-1.6.12'Libravatar Junio C Hamano1-1/+1
Regression fix for people with libsvn between 1.6.12 and 1.6.15, on which we tried to use the non-working platform auth providers. * jc/svn-auth-providers-unusable-at-1.6.12: git-svn: platform auth providers are working only on 1.6.15 or newer
2012-06-07Merge branch 'cr/persistent-https'Libravatar Junio C Hamano7-0/+860
A remote helper that acts as a proxy and caches ssl session for the https:// transport is added to the contrib/ area. By Colby Ranger * cr/persistent-https: Add persistent-https to contrib
2012-06-06fmt-merge-msg: make attribution into comment linesLibravatar Junio C Hamano2-20/+20
The submaintainer credit is not something you can compute purely by looking at the history and its shape, especially in the presense of fast-forward merges, and this observation makes the information on the "via" line unreliable. Let's leave the final determination of credits up to whoever is making the merge and show them as comments. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-05Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano4-1112/+2764
German and Chinese translation updates. By Ralf Thielow (4) and others via Jiang Xin (1) and Tran Ngoc Quan (1) * git://github.com/git-l10n/git-po: l10n: Update translation for Vietnamese l10n: de.po: add additional newline l10n: de.po: translate 2 new, 3 fuzzy messages l10n: de.po: translate 41 new messages l10n: de.po: translate 265 new messages l10n: zh_CN.po: translate 2 new, 3 fuzzy messages l10n: Update git.pot (5 new, 3 removed messages)
2012-06-04t3510 (cherry-pick-sequence): add missing '&&'Libravatar Ramkumar Ramachandra1-1/+1
Breaks in a test assertion's && chain can potentially hide failures from earlier commands in the chain. Fix an instance of this in the setup. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-04api-credentials.txt: add "see also" sectionLibravatar Matthieu Moy1-0/+7
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-04api-credentials.txt: mention credential.helper explicitlyLibravatar Matthieu Moy1-2/+4
The name of the configuration variable was mentioned only at the very end of the explanation, in a place specific to a specific rule, hence it was not very clear what the specification was about. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-04api-credentials.txt: show the big picture firstLibravatar Matthieu Moy1-3/+47
The API documentation targets two kinds of developers: those using the C API, and those writing remote-helpers. The document was not clear about which part was useful to which category, and for example, the C API could be mistakenly thought as an API for writting remote helpers. Based-on-patch-by: Jeff King <peff@peff.net> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-04doc: fix xref link from api docs to manual pagesLibravatar Junio C Hamano2-2/+2
They are one-level above, so refer them as linkgit:../git-foo[n] with "../" Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-04git-svn: platform auth providers are working only on 1.6.15 or newerLibravatar Junio C Hamano1-1/+1
Matthijs Kooijman reports that the cut-off point 082afee (git-svn: use platform specific auth providers, 2012-04-26) set at 1.6.12 to use this feature safely was incorrect, and it is 1.6.15 instead: http://svn.apache.org/repos/asf/subversion/trunk/CHANGES Version 1.6.15 * improve some swig parameter mapping (r984565, r1035745) Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Eric Wong <normalperson@yhbt.net>
2012-06-04Merge git://github.com/ralfth/git-po-deLibravatar Jiang Xin1-439/+2054
By Ralf Thielow via Ralf Thielow * ralfth/git-po-de/master: l10n: de.po: add additional newline l10n: de.po: translate 2 new, 3 fuzzy messages l10n: de.po: translate 41 new messages l10n: de.po: translate 265 new messages