summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-06-10gitweb: Split git_patchset_body into separate subroutinesLibravatar Jakub Narebski1-111/+202
This commit makes git_patchset_body easier to read, and reduces level of nesting and indent level. It adds more lines that it removes because of extra parameter passing in subroutines, and subroutine calls in git_patchset_body. Also because there are few added comments. Below there are descriptions of all split-off subroutines: Separate formatting "git diff" header into format_git_diff_header_line. While at it fix it so it always escapes pathname. It would be even more useful if we decide to use `--cc' for merges, and need to generate by hand empty patches for anchors. Separate formatting extended (git) diff header lines into format_extended_diff_header_line. This one is copied without changes. Separate formatting two-lines from-file/to-file diff header into format_diff_from_to_header subroutine. While at it fix it so it always escapes pathname. Beware calling convention: it takes _two_ lines. Separate generating %from and %to hashes (with info used among others to generate hyperlinks) into parse_from_to_diffinfo subroutine. This one is copied without changes. Separate checking if file was deleted (and among others therefore does not have link to the result file) into is_deleted subroutine. This would allow us to easily change the algotithm to find if file is_deleted in the result. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-10gitweb: Improve "next" link in commitdiff viewLibravatar Jakub Narebski1-1/+8
Check if 'hp' (hash_parent) parameter to 'commitdiff' view is one of 'h' (hash) commit parents, i.e. if commitdiff is of the form "<commit>^<n> <commit>", and mark it as such in the bottom part of navigation bar. The "next" link in commitdiff view was introduced in commit 151602df00b8e5c5b4a8193f59a94b85f9b5aebc If 'hb' is n-th parent of 'h', show the following at the bottom of navigation bar: (from parent n: _commit_) Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-10gitweb: Provide links to commitdiff to each parent in 'commitdiff' viewLibravatar Jakub Narebski2-0/+26
Since commit-fb1dde4a we show combined diff for merges in 'commitdiff' view, and since commit-208ecb2e also in 'commit' view. Sometimes though one would want to see diff to one of merge commit parents. It is easy in 'commit' view: in the commit header part there are "diff" links for each of parent header. This commit adds such links also for 'commitdiff' view. Add to difftree / whatchanged table row with "1", "2", ... links to 'commitdiff' view for diff with n-th parent for merge commits, as a table header. This is visible only in 'comitdiff' view, and only for a merge commit (comit with more than one parent). To save space links are shown as "n", where "n" is number of a parent, and not as for example shortened (to 7 characters) sha1 of a parent commit. To make it easier to discover what links is for, each link has 'title' attribute explaining the link. Note that one would need to remember that difftree table in 'commit' view has one less column (it doesn't have "patch" link column), if one would want to add such table header also in 'commit' view. Example output: 1 2 3 Makefile patch | diff1 | diff2 | diff3 | blob | history cache.h patch | diff1 | diff2 | diff3 | blob | history Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-10Merge branch 'maint'Libravatar Junio C Hamano2-8/+13
* maint: tutorial: use "project history" instead of "changelog" in header Documentation: user-manual todo user-manual: add a missing section ID Fix typo in remote branch example in git user manual user-manual: quick-start updates
2007-06-10mktag: minimally update the description.Libravatar Junio C Hamano1-7/+7
It lacked a description for the (historically) optional tagger header line. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-10Makefile: add an explicit rule for building assembly outputLibravatar Linus Torvalds2-1/+3
In the kernel we have a rule for *.c -> *.s files exactly because it's nice to be able to easily say "ok, what does that generate". Here's a patch to add such a rule to git too, in case anybody is interested. It makes it much simpler to just do make sha1_file.s and look at the compiler-generated output that way, rather than having to fire up gdb on the resulting binary. (Add -fverbose-asm or something if you want to, it can make the result even more readable) [jc: add *.s to .gitignore] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-10tutorial: use "project history" instead of "changelog" in headerLibravatar J. Bruce Fields1-2/+2
The word "changelog" seems a little too much like jargon to me, and beginners must understand section headers so they know where to look for help. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
2007-06-10Documentation: user-manual todoLibravatar J. Bruce Fields1-0/+4
Some more user-manual todo's: how to share objects between repositories, how to recover. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
2007-06-10user-manual: add a missing section IDLibravatar J. Bruce Fields1-0/+1
I forgot to give an ID for this section. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
2007-06-10Fix typo in remote branch example in git user manualLibravatar Gerrit Pape1-1/+1
In Documentation/user-manual.txt the example $ git checkout --track -b origin/maint maint under "Getting updates with git pull", should read $ git checkout --track -b maint origin/maint This was noticed by Ron, and reported through http://bugs.debian.org/427502 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
2007-06-10user-manual: quick-start updatesLibravatar J. Bruce Fields1-5/+5
Update text to reflect new position in appendix. Update the name to reflect the fact that this is closer to reference than tutorial documentation (as suggested by Jonas Fonseca). Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
2007-06-10git-mergetool: Make default selection of merge-tool more intelligentLibravatar Theodore Ts'o1-17/+29
Make git-mergetool prefer meld under GNOME, and kdiff3 under KDE. When considering emerge and vimdiff, check $VISUAL and $EDITOR to see which the user might prefer. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Cc: Josh Triplett <josh@freedesktop.org>
2007-06-10[PATCH] git-mergetool: Allow gvimdiff to be used as a mergetoolLibravatar Dan McGee3-4/+12
Signed-off-by: Dan McGee <dpmcgee@gmail.com> Acked-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-09Merge branch 'maint'Libravatar Junio C Hamano3-3/+3
* maint: Make command description imperative statement, not third-person present.
2007-06-09Remove unnecessary code and comments on non-existing 8kB tag object restrictionLibravatar Johan Herland1-7/+0
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-09Make command description imperative statement, not third-person present.Libravatar william pursell3-3/+3
In several of the text messages, the tense of the verb is inconsistent. For example, "Add" vs "Creates". It is customary to use imperative for command description. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-09t5000: silence unzip availability checkLibravatar René Scharfe1-1/+1
unzip -v on (at least) Ubuntu prints a screenful of version info to stdout. Get rid of it since we only want to know if unzip is installed or not. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
2007-06-09Merge branch 'aj/pack'Libravatar Junio C Hamano1-12/+35
* aj/pack: pack-check: Sort entries by pack offset before unpacking them.
2007-06-09Merge branch 'js/merge'Libravatar Junio C Hamano2-1/+10
* js/merge: git-merge-file: refuse to merge binary files
2007-06-09cmd_log_init: remove parsing of --encoding command line parameterLibravatar Jeff King1-7/+1
This was moved to the setup_revisions parsing in 7cbcf4d5, so it was never being triggered. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08Merge branch 'ar/wildcardpush'Libravatar Junio C Hamano2-12/+109
* ar/wildcardpush: Test wildcard push/fetch Fix push with refspecs containing wildcards
2007-06-08Merge branch 'ar/clone'Libravatar Junio C Hamano2-1/+47
* ar/clone: Fix clone to setup the origin if its name ends with .git
2007-06-08Merge branch 'maint'Libravatar Junio C Hamano2-1/+42
* maint: checkout: do not get confused with ambiguous tag/branch names
2007-06-08Even more missing staticLibravatar Junio C Hamano9-32/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08More missing staticLibravatar Junio C Hamano3-6/+4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08More missing staticLibravatar Junio C Hamano2-11/+8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08Missing statics.Libravatar Pierre Habouzit5-7/+7
Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08Active_nr is unsigned, hence can't be < 0Libravatar Pierre Habouzit1-2/+0
Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08cvsserver: Make req_Root more critical of its input dataLibravatar Frank Lichtenheld2-0/+45
The path submitted with the Root request has to be absolute (cvs does it this way and it may save us some sanity checks later) If multiple roots are specified (e.g. because we use pserver authentication which will already include the root), ensure that they say all the same. Probably neither is a security risk, and neither should ever be triggered by a sane client, but when validating input data, it's better to be save than sorry. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08gitview: Define __slots__ for CommitLibravatar Michael Ellerman1-0/+3
Define __slots__ for the Commit class. This reserves space in each Commit object for only the defined variables. On my system this reduces heap usage when viewing a kernel repo by 12% ~= 55868 KB. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08gitview: Use new-style classesLibravatar Michael Ellerman1-4/+4
This changes the Commit class to use new-style class, which has been available since Python 2.2 (Dec 2001). This is a necessary step in order to use __slots__[] declaration, so that we can reduce the memory footprint in the next patch. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08checkout: do not get confused with ambiguous tag/branch namesLibravatar Junio C Hamano2-1/+42
Although it is not advisable, we have always allowed a branch and a tag to have the same basename (i.e. it is not illegal to have refs/heads/frotz and refs/tags/frotz at the same time). When talking about a specific commit, the interpretation of 'frotz' has always been "use tag and then check branch", although we warn when ambiguities exist. However "git checkout $name" is defined to (1) first see if it matches the branch name, and if so switch to that branch; (2) otherwise it is an instruction to detach HEAD to point at the commit named by $name. We did not follow this definition when $name appeared under both refs/heads/ and refs/tags/ -- we switched to the branch but read the tree from the tagged commit, which was utterly bogus. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08Test wildcard push/fetchLibravatar Junio C Hamano1-0/+82
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-08Fix push with refspecs containing wildcardsLibravatar Alex Riesen1-12/+27
Otherwise git push 'remote-name' 'refs/heads/*:refs/remotes/other/*' will consider references in "refs/heads" of the remote repository "remote-name", instead of the ones in "refs/remotes/other", which the given refspec clearly means. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-07War on whitespaceLibravatar Junio C Hamano256-852/+645
This uses "git-apply --whitespace=strip" to fix whitespace errors that have crept in to our source files over time. There are a few files that need to have trailing whitespaces (most notably, test vectors). The results still passes the test, and build result in Documentation/ area is unchanged. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06Fix clone to setup the origin if its name ends with .gitLibravatar Alex Riesen2-1/+47
The problem is visible when cloning a local repo. The cloned repository will have the origin url setup incorrectly: the origin name will be copied verbatim in origin url of the cloned repository. Normally, the name is to be expanded into absolute path. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06pack-check: Sort entries by pack offset before unpacking them.Libravatar Alexandre Julliard1-12/+35
Because of the way objects are sorted in a pack, unpacking them in disk order is much more efficient than random access. Tests on the Wine repository show a gain in pack validation time of about 35%. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06Merge branch 'sv/objfixes'Libravatar Junio C Hamano5-8/+18
* sv/objfixes: Don't assume tree entries that are not dirs are blobs git-cvsimport: Make sure to use $git_dir always instead of .git sometimes fix documentation of unpack-objects -n Accept dates before 2000/01/01 when specified as seconds since the epoch
2007-06-06Don't assume tree entries that are not dirs are blobsLibravatar Sam Vilain2-1/+9
When scanning the trees in track_tree_refs() there is a "lazy" test that assumes that entries are either directories or files. Don't do that. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06git-cvsimport: Make sure to use $git_dir always instead of .git sometimesLibravatar Michael Milligan1-3/+3
CVS import was failing on a couple repos I was trying to import. I was setting GIT_DIR=newproj.git and using the -i flag, but this bug was thwarting the effort... evil CVS. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06fix documentation of unpack-objects -nLibravatar Sam Vilain1-2/+2
unpack-objects -n didn't print the object list as promised on the manual page, so alter the documentation to reflect the behaviour Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06Accept dates before 2000/01/01 when specified as seconds since the epochLibravatar Johannes Sixt1-2/+4
Tests with git-filter-branch on a repository that was converted from CVS and that has commits reaching back to 1999 revealed that it is necessary to parse dates before 2000/01/01 when they are specified as seconds since 1970/01/01. There is now still a limit, 100000000, which is 1973/03/03 09:46:40 UTC, in order to allow that dates are represented as 8 digits. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06Makefile: Remove git-merge-base from PROGRAMS.Libravatar Johannes Sixt1-1/+0
git-merge-base is a builtin. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06t5000: skip ZIP tests if unzip was not foundLibravatar Johannes Schindelin1-0/+7
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06Merge branch 'mm/tag'Libravatar Junio C Hamano2-11/+46
* mm/tag: Teach git-tag about showing tag annotations.
2007-06-06git-branch --track: fix tracking branch computation.Libravatar Junio C Hamano2-30/+53
The original code did not take hierarchical branch names into account at all. Tested-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06Fix typo in git-mergetoolLibravatar Josh Triplett1-1/+1
Signed-off-by: Josh Triplett <josh@freedesktop.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06Add the --numbered-files option to git-format-patch.Libravatar Jon Loeliger2-44/+67
With this option, git-format-patch will generate simple numbered files as output instead of the default using with the first commit line appended. This simplifies the ability to generate an MH-style drafts folder with each message to be sent. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06$EMAIL is a last resort fallback, as it's system-wide.Libravatar Pierre Habouzit1-2/+2
$EMAIL is a system-wide setup that is used for many many many applications. If the git user chose a specific user.email setup, then _this_ should be honoured rather than $EMAIL. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-06make clean should remove all the test programs tooLibravatar Matthias Lederhofer1-1/+2
Signed-off-by: Matthias Lederhofer <matled@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>