* What's in git.git
@ 2006-10-17 7:44 Junio C Hamano
2006-10-17 17:16 ` Linus Torvalds
0 siblings, 1 reply; 8+ messages in thread
From: Junio C Hamano @ 2006-10-17 7:44 UTC (permalink / raw)
To: git
* The 'maint' branch has this fix and produced 1.4.2.4 release.
Linus Torvalds (1):
Fix hash function in xdiff library
* The 'master' branch has these since the last announcement.
The fix in 'maint' is also included. Hopefully we can cut the
real 1.4.3 with this sometime this week.
Junio C Hamano (1):
Revert "move pack creation to version 3"
Petr Baudis (1):
svnimport: Fix broken tags being generated
Rene Scharfe (2):
Make write_sha1_file_prepare() void
Replace open-coded version of hash_sha1_file()
* The 'next' branch, in addition, has these.
Alan Chandler (1):
Gitweb - provide site headers and footers
Andy Whitcroft (2):
cvsimport: move over to using git-for-each-ref to read refs.
git-for-each-ref: improve the documentation on scripting modes
Christian Couder (12):
Add [-s|--hash] option to Linus' show-ref.
Use Linus' show ref in "git-branch.sh".
Document git-show-ref [-s|--hash] option.
Fix show-ref usage for --dereference.
Add pack-refs and show-ref test cases.
When creating branch c/d check that branch c does not already exists.
Uncomment test case: git branch c/d should barf if branch c exists.
Fix a remove_empty_dir_recursive problem.
Clean up "git-branch.sh" and add remove recursive dir test cases.
Use git-update-ref to delete a tag instead of rm()ing the ref file.
Check that a tag exists using show-ref instead of looking for the ref file.
Do not create tag leading directories since git update-ref does it.
Dennis Stosberg (2):
lock_ref_sha1_basic does not remove empty directories on BSD
Remove bashism from t3210-pack-refs.sh
Jeff King (3):
wt-status: use simplified resolve_ref to find current branch
gitignore: git-pack-refs is a generated file.
gitignore: git-show-ref is a generated file.
Johannes Schindelin (3):
Fix git-update-index --again
show-branch: mark active branch with a '*' again
Turn on recursive with --summary
Jonas Fonseca (1):
Add man page for git-show-ref
Junio C Hamano (55):
upload-pack: stop the other side when they have more roots than we do.
Add git-for-each-ref: helper for language bindings
Fix t1400-update-ref test minimally
fsck-objects: adjust to resolve_ref() clean-up.
symbolit-ref: fix resolve_ref conversion.
Add callback data to for_each_ref() family.
Tell between packed, unpacked and symbolic refs.
pack-refs: do not pack symbolic refs.
git-pack-refs --prune
pack-refs: fix git_path() usage.
lock_ref_sha1_basic: remove unused parameter "plen".
Clean-up lock-ref implementation
update-ref: -d flag and ref creation safety.
update a few Porcelain-ish for ref lock safety.
Teach receive-pack about ref-log
receive-pack: call setup_ident before git_config
grep --all-match
teach revision walker about --all-match.
git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1)
ref locking: allow 'foo' when 'foo/bar' used to exist but not anymore.
refs: minor restructuring of cached refs data.
lock_ref_sha1(): do not sometimes error() and sometimes die().
lock_ref_sha1(): check D/F conflict with packed ref when creating.
delete_ref(): delete packed ref
git-branch: remove D/F check done by hand.
show-ref --hash=len, --abbrev=len, and --abbrev
git-fetch: adjust to packed-refs.
Fix refs.c;:repack_without_ref() clean-up path
gitweb: make leftmost column of blame less cluttered.
git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.
pack-refs: use lockfile as everybody else does.
gitweb: prepare for repositories with packed refs.
Revert 954a6183756a073723a7c9fd8d2feb13132876b0
pack-refs: call fflush before fsync.
blame.c: whitespace and formatting clean-up.
git-blame: --show-number (and -n)
git-blame: --show-name (and -f)
blame.c: move code to output metainfo into a separate function.
git-send-email: do not drop custom headers the user prepared
ref-log: allow ref@{count} syntax.
git-send-email: real name with period need to be dq-quoted on From: line
git-blame --porcelain
gitweb: use blame --porcelain
Make git-send-email detect mbox-style patches more readily
core.logallrefupdates create new log file only for branch heads.
git-pack-refs --all
core.logallrefupdates thinko-fix
pack-objects: document --delta-base-offset option
blame: Document and add help text for -f, -n, and -p
gitweb: spell "blame --porcelain" with -p
git-repack: repo.usedeltabaseoffset
diff --numstat
pack-objects: use of version 3 delta is now optional.
gitweb: use for-each-ref to show the latest activity across branches
Revert "pack-objects: use of version 3 delta is now optional."
Linus Torvalds (6):
Add "git show-ref" builtin command
Teach "git checkout" to use git-show-ref
Start handling references internally as a sorted in-memory list
Add support for negative refs
Make ref resolution saner
Enable the packed refs file format
Luben Tuikov (4):
gitweb: blame: print commit-8 on the leading row of a commit-block
gitweb: blame: Mouse-over commit-8 shows author and date
gitweb: blame porcelain: lineno and orig lineno swapped
git-revert with conflicts to behave as git-merge with conflicts
Martin Waitz (2):
gitweb: start to generate PATH_INFO URLs.
gitweb: warn if feature cannot be overridden.
Matthew Wilcox (1):
Add --dry-run option to git-send-email
Nicolas Pitre (8):
introduce delta objects with offset to base
teach git-unpack-objects about deltas with offset to base
teach git-index-pack about deltas with offset to base
make git-pack-objects able to create deltas with offset to base
make pack data reuse compatible with both delta types
let the GIT native protocol use offsets to delta base when possible
zap a debug remnant
allow delta data reuse even if base object is a preferred base
Petr Baudis (5):
Fix broken sha1 locking
Fix buggy ref recording
gitweb: Document features better
gitweb: Fix search form when PATH_INFO is enabled
bisect reset: Leave the tree in usable state if git-checkout failed
Rene Scharfe (2):
git-archive --format=zip: use default version ID
git-archive --format=zip: add symlink support
Robert Shearman (2):
git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
Ryan Anderson (1):
Remove git-annotate.perl and create a builtin-alias for git-blame
Santi Béjar (2):
fetch: Misc output cleanup
merge and resolve: Output short hashes and .. in "Updating ..."
Sasha Khapyorsky (1):
git-svnimport.perl: copying directory from original SVN place
* The 'pu' branch, in addition, has these.
Junio C Hamano (17):
git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 2)
para-walk: walk n trees, index and working tree in parallel
para walk wip
merge: loosen overcautious "working file will be lost" check.
git-pickaxe: blame rewritten.
git-pickaxe: minimally use revision machinery.
git-pickaxe: fix output for more than one paths from the same commit.
git-pickaxe: fix "bottom" commit handling.
git-pickaxe: allow using non -u0 diff internally.
git-pickaxe: use linked list of blame entries.
git-pickaxe: collapse trivial blame entry.
git-pickaxe: blame line movements within a file.
git-pickaxe: blame cut-and-pasted lines.
git-pickaxe: -M, -C, and -C -C
git-pickaxe: optimize nth_line()
git-pickaxe: make -C (copy from other file) take immediate blame.
git-pickaxe: document -M, -C, and -C -C
Petr Baudis (1):
gitweb: Show project README if available
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: What's in git.git
2006-10-17 7:44 What's in git.git Junio C Hamano
@ 2006-10-17 17:16 ` Linus Torvalds
2006-10-17 18:08 ` [PATCH] add proper dependancies on the xdiff source Andy Whitcroft
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Linus Torvalds @ 2006-10-17 17:16 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Tue, 17 Oct 2006, Junio C Hamano wrote:
>
> * The 'maint' branch has this fix and produced 1.4.2.4 release.
>
> Linus Torvalds (1):
> Fix hash function in xdiff library
There's two things to note about this:
- the libxdiff dependencies are broken, so it's likely that you need to
do a "make clean; make" to actually see the result of this.
We really should fix this. I was bitten by this _again_ when I wanted
to do some performance testing, and was scratching my head about why it
didn't seem to matter.
I haven't looked into which part of the Makefile is broken yet, so I
really don't know what's broken, but maybe somebody who likes makefiles
could take a look? Basically, doing a
touch xdiff/xmacros.h
should cause a recompile of a lot more than it causes.
- while the hash function problem _can_ cause really huge slowdowns in
some unlucky situations, it actually causes noticeable performance
issues even for normal situations.
For example, for me on a 2GHz merom machine in the current git
directory:
Before:
[torvalds@merom git]$ time ./git log -p | wc -l
746211
real 0m27.223s
user 0m26.894s
sys 0m0.424s
After:
[torvalds@merom git]$ time ./git log -p | wc -l
746211
real 0m9.638s
user 0m9.329s
sys 0m0.468s
so there's a factor-of-three difference here even on a "normal" load
like git itself. You don't need a huge file with tons of changes to see
the effect of this.
So we should fix the makefile to add whatever proper header file
dependencies, but we should also make sure that whoever builds binaries
has done a "make clean", otherwise the fix is potentially hidden.
Linus
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] add proper dependancies on the xdiff source
2006-10-17 17:16 ` Linus Torvalds
@ 2006-10-17 18:08 ` Andy Whitcroft
2006-10-17 18:22 ` Ryan Anderson
2006-10-17 18:15 ` What's in git.git Davide Libenzi
2006-10-17 18:19 ` Junio C Hamano
2 siblings, 1 reply; 8+ messages in thread
From: Andy Whitcroft @ 2006-10-17 18:08 UTC (permalink / raw)
To: git
We are not rebuilding the xdiff library when its header files change.
Add dependancies for those to the main Makefile.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
---
diff --git a/Makefile b/Makefile
index 932bcb9..3e54f75 100644
--- a/Makefile
+++ b/Makefile
@@ -768,6 +768,8 @@ git-http-push$X: revision.o http.o http-
rm -f $@ && $(AR) rcs $@ $(LIB_OBJS)
XDIFF_OBJS=xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o
+$(XDIFF_OBJS): xdiff/xinclude.h xdiff/xmacros.h xdiff/xdiff.h xdiff/xtypes.h \
+ xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
$(XDIFF_LIB): $(XDIFF_OBJS)
rm -f $@ && $(AR) rcs $@ $(XDIFF_OBJS)
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: What's in git.git
2006-10-17 17:16 ` Linus Torvalds
2006-10-17 18:08 ` [PATCH] add proper dependancies on the xdiff source Andy Whitcroft
@ 2006-10-17 18:15 ` Davide Libenzi
2006-10-17 18:19 ` Junio C Hamano
2 siblings, 0 replies; 8+ messages in thread
From: Davide Libenzi @ 2006-10-17 18:15 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Junio C Hamano, git
On Tue, 17 Oct 2006, Linus Torvalds wrote:
> - while the hash function problem _can_ cause really huge slowdowns in
> some unlucky situations, it actually causes noticeable performance
> issues even for normal situations.
Yes, using a 32 bits multiplier on a 64 bits machine transform the almost
O(1) hash performance to a crappy O(N) list performance. you notice that
in every diff operation, independently from the content.
- Davide
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: What's in git.git
2006-10-17 17:16 ` Linus Torvalds
2006-10-17 18:08 ` [PATCH] add proper dependancies on the xdiff source Andy Whitcroft
2006-10-17 18:15 ` What's in git.git Davide Libenzi
@ 2006-10-17 18:19 ` Junio C Hamano
2006-10-17 18:53 ` Linus Torvalds
2006-10-17 18:57 ` Andy Whitcroft
2 siblings, 2 replies; 8+ messages in thread
From: Junio C Hamano @ 2006-10-17 18:19 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
Linus Torvalds <torvalds@osdl.org> writes:
> There's two things to note about this:
>
> - the libxdiff dependencies are broken, so it's likely that you need to
> do a "make clean; make" to actually see the result of this.
Eh, stupid-and-obvious like this perhaps.
---
diff --git a/Makefile b/Makefile
index 2c7c338..3fed480 100644
--- a/Makefile
+++ b/Makefile
@@ -237,6 +237,7 @@ PYMODULES = \
LIB_FILE=libgit.a
XDIFF_LIB=xdiff/lib.a
+$(XDIFF_LIB): $(wildcard xdiff/*.[ch])
LIB_H = \
archive.h blob.h cache.h commit.h csum-file.h delta.h grep.h \
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] add proper dependancies on the xdiff source
2006-10-17 18:08 ` [PATCH] add proper dependancies on the xdiff source Andy Whitcroft
@ 2006-10-17 18:22 ` Ryan Anderson
0 siblings, 0 replies; 8+ messages in thread
From: Ryan Anderson @ 2006-10-17 18:22 UTC (permalink / raw)
To: Andy Whitcroft; +Cc: git
On 10/17/06, Andy Whitcroft <apw@shadowen.org> wrote:
> We are not rebuilding the xdiff library when its header files change.
> Add dependancies for those to the main Makefile.
>
> Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Ryan Anderson <ryan@google.com>
(I had a different variation on the same change just about ready to
mail, but the dependencies match. For a simple verification, "gcc -MM
xdiff.c" is a good tool.)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: What's in git.git
2006-10-17 18:19 ` Junio C Hamano
@ 2006-10-17 18:53 ` Linus Torvalds
2006-10-17 18:57 ` Andy Whitcroft
1 sibling, 0 replies; 8+ messages in thread
From: Linus Torvalds @ 2006-10-17 18:53 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Tue, 17 Oct 2006, Junio C Hamano wrote:
>
> Eh, stupid-and-obvious like this perhaps.
I'm not convinced that is enough. You need to make the individual
xdiff/*.c files depend on the xdiff/*.h files, because otherwise it will
think that the *.o files are up-to-date and just re-link the archive.
The kernel does automatic dependency generation for all the *.c files, and
it's _really_ nice. Having to do dependencies by hand is just always going
to suck. But the kernel can depend on more things (in particular, the
kernel can depend on gcc, and use things like "-MD,$(depfile)" to generate
lists of dependencies while building, so that any object file _always_ has
the things it depended upn explicitly listed).
But in the absense of those kinds of really clever and powerful tricks, it
might be worthwhile to even just have a "mkdepend" scrupt thing and
include the end result into the Makefile (we do already depend on GNU
make).
That would allow us to get the real dependencies (and minimal! right now
we sometimes compile too _much_ just because some of our dependencies are
so screwed up and lazy).
Linus
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: What's in git.git
2006-10-17 18:19 ` Junio C Hamano
2006-10-17 18:53 ` Linus Torvalds
@ 2006-10-17 18:57 ` Andy Whitcroft
1 sibling, 0 replies; 8+ messages in thread
From: Andy Whitcroft @ 2006-10-17 18:57 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Linus Torvalds, git
Junio C Hamano wrote:
> Linus Torvalds <torvalds@osdl.org> writes:
>
>> There's two things to note about this:
>>
>> - the libxdiff dependencies are broken, so it's likely that you need to
>> do a "make clean; make" to actually see the result of this.
>
> Eh, stupid-and-obvious like this perhaps.
>
> ---
>
> diff --git a/Makefile b/Makefile
> index 2c7c338..3fed480 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -237,6 +237,7 @@ PYMODULES = \
>
> LIB_FILE=libgit.a
> XDIFF_LIB=xdiff/lib.a
> +$(XDIFF_LIB): $(wildcard xdiff/*.[ch])
To combine your more succinct style with my previous patch, its the link
between the .o's and the .h's thats missing.
$(XDIFF_OBJS): $(wildcard xdiff/*.h)
-apw
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-10-17 18:58 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-17 7:44 What's in git.git Junio C Hamano
2006-10-17 17:16 ` Linus Torvalds
2006-10-17 18:08 ` [PATCH] add proper dependancies on the xdiff source Andy Whitcroft
2006-10-17 18:22 ` Ryan Anderson
2006-10-17 18:15 ` What's in git.git Davide Libenzi
2006-10-17 18:19 ` Junio C Hamano
2006-10-17 18:53 ` Linus Torvalds
2006-10-17 18:57 ` Andy Whitcroft
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).