| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If everything is up-to-date locally, we don't need to even ask for a
pack-file from the remote, or try to unpack it.
This is especially important for tags - since the pack-file common commit
logic is based purely on the commit history, it will never be able to find
a common tag, and will thus always end up re-fetching them.
Especially notably, if the tag points to a non-commit (eg a tagged tree),
the pack-file would be unnecessarily big, just because it cannot any most
recent common point between commits for pruning.
Short-circuiting the case where we already have that reference means that
we avoid a lot of these in the common case.
NOTE! This only matches remote ref names against the same local name,
which works well for tags, but is not as generic as it could be. If we
ever need to, we could match against _any_ local ref (if we have it, we
have it), but this "match against same name" is simpler and more
efficient, and covers the common case.
Renaming of refs is common for branch heads, but since those are always
commits, the pack-file generation can optimize that case.
In some cases we might still end up fetching pack-files unnecessarily, but
this at least avoids the re-fetching of tags over and over if you use a
regular
git fetch --tags ...
which was the main reason behind the change.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
| |
On FAT/NTFS, filenames cannot contain tabs. So t3300-funny-names would
reliably fail already when trying to create such files.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
| |
Since git-status now shows the "other" files, too, bring .gitignore
up-to-date.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
| |
Perl was warning that $opt_p was undefined in that case.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
|
| |
When extra paths arguments are given, git-checkout reverts only those
paths to either the version recorded in the index or the version
recorded in the given tree-ish.
This has been on the TODO list for quite a while.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
|
| |
Recent '--' fixes to "git diff" by Linus made it possible to specify
filenames that start with '-'. But in order to do that, you need to
be able to add and commit such file to begin with.
Teach git-add and git-commit to honor the same '--' convention.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
| |
This fixes the default built-in exec() of "diff" to add a "--" before the
filenames, so that if a filename starts with a "-", the diff program won't
think it's an option.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
|
| |
It adds "--" to the git-diff.sh scripts, to keep any filenames that start
with a "-" from being confused with an option.
But in order to do that, it needs to teach git-diff-files to honor "--".
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although it really is very convenient, not requiring explicit
'-r' option to name revs is sometimes ambiguous.
Usually we allow a "--" to say where a filename starts when it
_is_ ambiguous. However, we fail that at times. In particular,
git-rev-parse fails it.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
| |
Somehow I forgot to forward port these fixes. "git clone" from a
repository prepared with the latest update-server-info would fail
without this patch.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
| |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
| |
Follow the "encode minimally" principle -- our tools, including
git-apply and git-status, can handle pathnames with embedded SP just
fine. The only problematic ones are TAB and LF, and we need to quote
the metacharacters introduced for quoting.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
| |
Linus says he does not use it (and the thinking behind its initial
introduction), and neither Cogito nor StGIT uses it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
| |
Although the sole current user uses -z to read this, we should be
prepared for somebody to feed non-z format to the command.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
| |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
| |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
| |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
| |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it possible to add paths that have funny characters (TAB
and LF) in them, and makes adding many paths more efficient in
general.
New flag "--stdin" to update-index was initially added for different
purpose, but it turns out to be a perfect match for feeding "ls-files
--others -z" output to improve "git add".
It also adds "--verbose" flag to update-index for use with "git add"
command.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
| |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
| |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following the list discussion, define two functions, quote_c_style and
unquote_c_style, to help adopting the proposed way for quoting funny
pathname letters for GNU patch. The rule is described in:
http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2
Currently we do not support the leading '!', but we probably should
barf upon seeing it. Rule B4. is interpreted to require always 3
octal digits in \XYZ notation.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Now the behaviour of '-a' has been straightened out, document it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The original semantics of pretending as if all files were
specified where '-a' appeared and using only the flags given so
far was too confusing.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
| |
| |
| |
| | |
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This will be removed when merging the second phase of Linus' "Create
object subdirectories on demand" change anyway, but the code to
recreate the empty .git/objects/??/ directory was confused.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The documentation for git-whatchanged is meant to describe only
the most frequently used options from git-diff-tree. Because "why
doesn't it show merges" was asked more than once, we'd better
describe '-m' option there.
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Deb packaging claim we depend on patch, but I think we use git-apply
where it matters. When a patch does not apply with git-apply, using
GNU patch still is helpful sometimes. So demote it from "Depends" to
"Suggests".
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
[jc: I have my pre-commit hook enabled to catch trailing whitespaces,
and fixed them up while merging.]
Signed-off-by: Junio C Hamano <junkio@cox.net>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Reworded the exit message, as per Kalle Valo's suggestion (but shorter).
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | | |
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Import SVN-copied and -referenced directories correctly.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some SVN repositories that are accessible through HTTP don't like when I
retrieve files using SVN methods ("internal server error").
Therefore, I added an option to get the contents using (persistent) HTTP
directly. This also reduces round-trip time, from two or three requests
down to one.
Also corrected error handling a bit.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Some remains of CVS still lingered. Removed.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
The -s option was accidentally not optional.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixed a minor typo
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Not skipping the last revision is generally seen as Good Thing. ;-)
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Actually removing the files that have been checked out of SVN,
after checking them into git of course, is a good idea...
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The svn library has a serious memory leak.
Added a new option (-l NUM) which causes git-svnimport to exit cleanly
after fetching that many changes, in order to .
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Incremental imports skipped a revision.
Also improve interrupt safety -- ^C while writing a tag caused the tag
to be skipped.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a flag to skip initial revisions: some SVN repositories have
initial setup cruft in their logs which we might want to ignore.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
If a tag is "clean", do not create a commit for it.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Tagging was 100% broken. :-/
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Removed debugging output used to identify the too-many-connections problem.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
There are multiple | characters in Unicode. Don't use the wrong one ...
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Perl's eval() sets $@ to empts, not undef, when it succeeds.
That caused excessive reconnect attempts.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Die with a warning if Perl's svn module is too old.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Added libsvn-core-perl to debian/control, "Recommends:" section.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
|