summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-03-06pack-objects: simplify "thin" pack.Libravatar Junio C Hamano1-27/+11
There was a misguided logic to overly prefer using objects that we are not going to pack as the base object. This was unnecessary. It does not matter to the unpacking side where the base object is -- it matters more to make the resulting delta smaller. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05verify-pack -v: show delta-chain histogram.Libravatar Junio C Hamano1-1/+19
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05Const tightening.Libravatar Junio C Hamano10-39/+44
Mark Wooding noticed there was a type mismatch warning in git.c; this patch does things slightly differently (mostly tightening const) and was what I was holding onto, waiting for the setup-revisions change to be merged into the master branch. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05Documentation/Makefile: Some `git-*.txt' files aren't manpages.Libravatar Mark Wooding1-1/+5
In particular, git-tools.txt isn't a manpage, and my Asciidoc gets upset by it. The simplest fix is to Remove articles from the list of manpages the Makefile. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05cvsserver: updated documentationLibravatar Martin Langhoff1-25/+60
... and stripped trailing whitespace to appease the Gods... Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05cosmetics: change from 'See-Also' to 'See Also'Libravatar Jeff Muizelaar4-4/+4
Changes the documentation that uses 'See-Also' to the more common 'See Also' form. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05git-commit --amend: allow empty commit.Libravatar Junio C Hamano1-1/+1
When amending a commit only to update the commit log message, git-status would rightly say "Nothing to commit." Do not let this prevent commit to be made. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04Cauterize dropped or duplicate bits from next.Libravatar Junio C Hamano0-0/+0
I am very sorry to do this, but without this funky octopus, "git log --no-merges master..next" will show commits already merged into "master" forever. There are some commits on the next branch (which is never to be rewound) that are reverts of other commits on the next branch. They are to revert the finer grained delta experiments that turned out to have undesirable performance effects. Also there are some other commits that were first done as a merge into "next" (a pull request based on next) and then cherry picked into master. Since they are not going to be merged into "master" ever, they will stay forever in "log master..next". Yuck. So this commit records the fact that the commits currently shown by "git log --no-merges master..next" to be merged into "master" are already in the master, either because they really are (in the case of git-cvsserver bits, which needed cherry-picking into "master"), or because they are fully reverted in "next" (in the case of finer-grained delta bits). Here is the way I made this commit: (1) Inspect "gitk --no-merges --parents master..next" This shows what git thinks are missing from master. It shows chain of commits that are already merged and chain of commits whose net effect should amount to a no-op. Look at each commits and make sure they are either unwanted or already merged by cherry-picking. (2) Record the tip of branches that I do not want. In this case, the following were unwanted: cfcbd3427e67056a00ec832645b057eaf33888d9 cvsserver c436eb8cf1efa3fe2c70100ae0cbc48f0feaf5af diff-delta 38fd0721d0a2a1a723bc28fc0817e3571987b1ef diff-delta f0bcd511ee3a00b7fd3975a386aa1165c07a0721 cvsserver 2b8d9347aa1a11f1ac13591f89ca9f984d467c77 diff-delta (3) Shorten the list by finding independent ones from the above. $ git show-branch --independent $the $above $tips cfcbd3427e67056a00ec832645b057eaf33888d9 c436eb8cf1efa3fe2c70100ae0cbc48f0feaf5af (4) Checkout "master" and cauterize them with "ours" strategy: $ git merge -s ours "`cat $this-file`" HEAD cfcbd3 c436eb
2006-03-04Merge part of 'sp/checkout'Libravatar Junio C Hamano2-2/+59
2006-03-04AsciiDoc fix for tutorialLibravatar Francis Daly1-1/+1
RE \^.+\^ becomes <sup>. Not wanted here Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04git.el: Added customize support for all parameters.Libravatar Alexandre Julliard1-31/+54
Also fixed quoting of git-log-msg-separator. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04git.el: Added support for Signed-off-by.Libravatar Alexandre Julliard1-5/+11
If `git-append-signed-off-by' is non-nil, automatically append a sign-off line to the log message when editing it. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04git.el: Automatically update .gitignore status.Libravatar Alexandre Julliard1-3/+8
Update .gitignore files in the status list as they are created or modified. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04git.el: Set default directory before running the status mode setup hooks.Libravatar Alexandre Julliard1-1/+2
Also set the list-buffers-directory variable for nicer buffer list display. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04git.el: Portability fixes for XEmacs and Emacs CVS.Libravatar Alexandre Julliard1-4/+10
Fixed octal constants for XEmacs. Added highlighting support in log-edit buffer for Emacs CVS. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04contrib/emacs: Add an Emacs VC backend.Libravatar Alexandre Julliard1-0/+135
Add a basic Emacs VC backend. It currently supports the following commands: checkin, checkout, diff, log, revert, and annotate. There is only limited support for working with revisions other than HEAD. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04Merge branch 'fk/blame'Libravatar Junio C Hamano2-1/+563
* fk/blame: git-blame, take 2 Merge part of 'lt/rev-list' into 'fk/blame' Add git-blame, a tool for assigning blame.
2006-03-04Merge branch 'lt/rev-list'Libravatar Junio C Hamano14-1886/+954
* lt/rev-list: setup_revisions(): handle -n<n> and -<n> internally. git-log (internal): more options. git-log (internal): add approxidate. Rip out merge-order and make "git log <paths>..." work again. Tie it all together: "git log" Introduce trivial new pager.c helper infrastructure git-rev-list libification: rev-list walking Splitting rev-list into revisions lib, end of beginning. rev-list split: minimum fixup. First cut at libifying revlist generation
2006-03-03Add a Documentation/git-tools.txtLibravatar Marco Costalba1-0/+97
A brief survey of useful git tools, including third-party and external projects. Signed-off-by: Marco Costalba <mcostalba@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04cvsserver: anonymous cvs via pserver supportLibravatar Martin Langhoff1-0/+34
git-cvsserver now knows how to do the pserver auth chat when the user is anonymous. To get it to work, add a line to your inetd.conf like cvspserver stream tcp nowait nobody git-cvsserver pserver (On some inetd implementations you may have to put the pserver parameter twice.) Commits are blocked. Naively, git-cvsserver assumes non-malicious users. Please review the code before setting this up on an internet-accessible server. NOTE: the <nobody> user above will need write access to the .git directory to maintain the sqlite database. Updating of the sqlite database should be put in an update hook to avoid this problem, so that it is maintained by users with write access.
2006-03-03Merge branch 'tl/anno'Libravatar Junio C Hamano1-1/+1
* tl/anno: annotate should number lines starting with 1
2006-03-03cvsserver: better error messagesLibravatar Martin Langhoff1-1/+14
We now have different error messages when the repo is not found vs repo is not configured to allow gitcvs. Should help users during initial checkouts. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03cvsserver: nested directory creation fixups for Eclipse clientsLibravatar Martin Langhoff1-17/+56
To create nested directories without (or before) sending file entries is rather tricky. Most clients just work. Eclipse, however, expects a very specific sequence of events. With this patch, cvsserver meets those expectations. Note: we may want to reuse prepdir() in req_update -- should move it outside of req_co. Right now prepdir() is tied to how req_co() works. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03Merge branch 'maint'Libravatar Junio C Hamano1-4/+6
* maint: tar-tree: file/dirmode fix.
2006-03-03tar-tree: file/dirmode fix.Libravatar Junio C Hamano1-4/+6
This fixes two bugs introduced when we switched to generic tree traversal code. (1) directory mode recorded silently became 0755, not 0777 (2) if passed a tree object (not a commit), it emitted an alarming error message (but proceeded anyway). Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03annotate should number lines starting with 1Libravatar Luck, Tony1-1/+1
C programmers are well used to counting from zero, but every other text file tool starts counting from 1. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: fix a copied-tree bug in an overzealous assertionLibravatar Eric Wong1-4/+11
I thought passing --stop-on-copy to svn would save us from all the trouble svn-arch-mirror had with directory (project) copies. I was wrong, there was one thing I overlooked. If a tree was moved from /foo/trunk to /bar/foo/trunk with no other changes in r10, but the last change was done in r5, the Last Changed Rev (from svn info) in /bar/foo/trunk will still be r5, even though the copy in the repository didn't exist until r10. Now, if we ever detect that the Last Changed Rev isn't what we're expecting, we'll run svn diff and only croak if there are differences between them. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03show-branch --topics: omit more uninteresting commits.Libravatar Junio C Hamano1-14/+6
When inspecting contents of topic branches for yet-to-be-merged commits, a commit that is in the release/master branch is uninteresting. Previous round still showed them, especially, the ones before a topic branch that was forked from the release/master later than other topic branches. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03workaround fat/ntfs deficiencies for t3600-rm.sh (git-rm)Libravatar Alex Riesen1-6/+17
Signed-off-by: Alex Riesen <ariesen@harmanbecker.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03git-mv: fix moves into a subdir from outsideLibravatar Josef Weidendorfer2-2/+24
git-mv needs to be run from the base directory so that the check if a file is under revision also covers files outside of a subdirectory. Previously, e.g. in the git repo, cd Documentation; git-mv ../README . produced the error Error: '../README' not under version control The test is extended for this case; it previously only tested one direction. Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03send-email: accept --no-signed-off-by-cc as the documentation statesLibravatar Eric Wong1-1/+1
--no-signed-off-cc is still supported, for backwards compatibility Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: better documenting of CLI switchesLibravatar Eric Wong2-15/+31
Also, fix a asciidoc formatting error Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: add --id/-i=$GIT_SVN_ID command-line switchLibravatar Eric Wong1-8/+11
I ended up using GIT_SVN_ID far more than I ever thought I would. Typing less is good. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: avoid re-reading the repository uuid, it never changesLibravatar Eric Wong1-15/+12
If it does change, we're screwed anyways as SVN will refuse to commit or update. We also never access more than one SVN repository per-invocation, so we can store it as a global, too. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: create a more recent master if one does not existLibravatar Eric Wong1-3/+3
In a new repository, the initial fetch creates a master branch if one does not exist so HEAD has something to point to. It now creates a master at the end of the initial fetch run, pointing to the latest revision. Previously it pointed to the first revision imported, which is generally less useful. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: cleanup option parsingLibravatar Eric Wong1-30/+35
Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: allow --authors-file to be specifiedLibravatar Eric Wong1-8/+32
Syntax is compatible with git-svnimport and git-cvsimport: normalperson = Eric Wong <normalperson@yhbt.net> If this option is specified and git-svn encounters an SVN committer name that it cannot parse, it git-svn will abort. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: strip 'git-svn-id:' when commiting to SVNLibravatar Eric Wong1-0/+3
We regenerate and use git-svn-id: whenever we fetch or otherwise commit to remotes/git-svn. We don't actually know what revision number we'll commit to SVN at commit time, so this is useless. It won't throw off things like 'rebuild', though, which knows to only use the last instance of git-svn-id: in a log message Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: several small bug fixes and changesLibravatar Eric Wong1-10/+17
* Fixed manually-edited commit messages not going to remotes/git-svn on sequential commits after the sequential commit optimization. * format help correctly after adding 'show-ignore' * sha1_short regexp matches down to 4 hex characters (from git-rev-parse --short documentation) * Print the first line of the commit message when we commit to SVN next to the sha1. * Document 'T' (type change) in the comments Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03contrib/git-svn: add -b/--branch switch for branch detectionLibravatar Eric Wong2-1/+54
I've said I don't like branches in Subversion, and I still don't. This is a bit more flexible, though, as the argument for -b is any arbitrary git head/tag reference. This makes some things easier: * Importing git history into a brand new SVN branch. * Tracking multiple SVN branches via GIT_SVN_ID, even from multiple repositories. * Adding tags from SVN (still need to use GIT_SVN_ID, though). * Even merge tracking is supported, if and only the heads end up with 100% equivalent tree objects. This is more stricter but more robust and foolproof than parsing commit messages, imho. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-02Prevent --index-info from ignoring -z.Libravatar Shawn Pearce1-1/+3
If git-update-index --index-info -z is used only the first record given to the process will actually be updated as the -z option is ignored until after all index records have been read and processed. This meant that multiple null terminated records were seen as a single record which was lacking a trailing LF, however since the first record ended in a null the C string handling functions ignored the trailing garbage. So --index-info should be required to be the last command line option, much as --stdin is required to be the last command line option. Because --index-info implies --stdin this isn't an issue as the user shouldn't be passing --stdin when also passing --index-info. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-02manpages: insert two missing [verse] markers for multi-line SYNOPSISLibravatar Jonas Fonseca2-0/+2
Found with: for i in *.txt; do grep -A 2 "SYNOPSIS" "$i" | grep -q "^\[verse\]$" && continue multiline=$(grep -A 3 "SYNOPSIS" "$i" | tail -n 1) test -n "$multiline" && echo "$i: $multiline" done Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-02gitview: pass the missing argument _show_clicked_cb.Libravatar Aneesh Kumar K.V1-1/+1
In our last update to use the encoding while showing the commit diff we added a new argument to this function. But we missed updating all the callers. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-02Fix test case for some sedLibravatar Johannes Schindelin1-1/+2
Some versions of sed lack the "-i" option. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-02git-branch: add -r switch to list refs/remotes/*Libravatar Eric Wong1-0/+10
If we decide to use refs/remotes/, having a convenient way to list them would be nice. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-02cvsserver: fix checkouts with -d <somedir>Libravatar Martin Langhoff1-5/+5
A recent Eclipse compat fix broke checkouts with -d. Fix it so that the server sends the correct module name instead of the destination directory name.
2006-03-02cvsserver: checkout faster by sending files in a sensible orderLibravatar Martin Langhoff1-2/+5
Just by sending the files in an ordered fashion, clients can process them much faster. And we can optimize our check of whether we created this directory already -- faster. Timings for a checkout on a commandline cvs client for a project with ~13K files totalling ~100MB: Unsorted: 603.12 real 16.89 user 42.88 sys Sorted: 298.19 real 26.37 user 42.42 sys
2006-03-02git-commit: make sure we protect against races.Libravatar Junio C Hamano1-0/+2
An earlier commit 8098a178b26dc7a158d129a092a5b78da6d12b72 accidentally lost race protection from git-commit command. This commit reinstates it. When something else updates HEAD pointer while you were editing your commit message, the command would notice and abort the commit. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-02git-commit --amendLibravatar Junio C Hamano1-4/+39
The new flag is used to amend the tip of the current branch. Prepare the tree object you would want to replace the latest commit as usual (this includes the usual -i/-o and explicit paths), and the commit log editor is seeded with the commit message from the tip of the current branch. The commit you create replaces the current tip -- if it was a merge, it will have the parents of the current tip as parents -- so the current top commit is discarded. It is a rough equivalent for: $ git reset --soft HEAD^ $ ... do something else to come up with the right tree ... $ git commit -c ORIG_HEAD but can be used to amend a merge commit. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03cvsserver: fix checkouts with -d <somedir>Libravatar Martin Langhoff1-5/+5
A recent Eclipse compat fix broke checkouts with -d. Fix it so that the server sends the correct module name instead of the destination directory name.