| From | Subject | Date |
|---|---|---|
| Shawn O. Pearce | [PATCH] Don't allow contrib/workdir/git-new-workdir to trash...
Recently I found that doing a sequence like the following:
git-new-workdir a b
...
git-new-workdir a b
by accident will cause a (and now also b) to have an infinite cycle
in its refs directory. This is caused by git-new-workdir trying
to create the "refs" symlink over again, only during the second
time it is being created within a's refs directory and is now also
pointing back at a's refs.
This causes confusion in git as suddenly branches are named things
like "refs/refs/refs/refs/ref...
| Sep 5, 11:33 pm 2007 |
| Russ Dill | Re: People unaware of the importance of "git gc"?
git add? merge? rebase? No, I have a sneakier place to invoke gc.
Whenever $EDITOR gets invoked. Heck, whenever git is waiting for any user input,
do some gc in the background, it'd just have to be incremental so that we could
pick up where we left off.
Similarly, you could mix it in with git pull/push so that while we are waiting
on the network, we can do some packing.
Course, this wouldn't work for all repositories.
-
| Sep 5, 10:44 pm 2007 |
| Shawn O. Pearce | Re: People unaware of the importance of "git gc"?
Heh. That is a really good idea. I've been thinking about doing
some automatic generational style GC type repacking controls in
git-gui, and doing them when git-gui is sitting idle and has not
been used in the past couple of minutes.
This is along the same vein of thought. I like it. Often it
takes me a while to come up with a good commit message even if
I am using command line commit.
But git-rebase/git-am can cause a huge number of objects to be
created, especially if you are pushing a l...
| Sep 5, 10:52 pm 2007 |
| Shawn O. Pearce | [PATCH] Cleanup unnecessary file modifications in t1400-upda...
Kristian Høgsberg pointed out that the two file modifications
we were doing during the 'creating initial files' step are not even
used within the test suite. This was actually confusing as we do
not even need these changes for the tests to pass. All that really
matters here is the specific commit dates are used so that these
appear in the branch's reflog, and that the dates are different so
that the branch will update when asked and the reflog entry is
also updated. There is no need for the file ...
| Sep 5, 10:15 pm 2007 |
| Junio C Hamano | [PATCH] allow bulk import to be packed
This will use fast-import as a backend to dump blobs resulting
from a huge initial import into a packfile.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
builtin-add.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 79 insertions(+), 0 deletions(-)
diff --git a/builtin-add.c b/builtin-add.c
index 105a9f0..f512108 100644
--- a/builtin-add.c
+++ b/builtin-add.c
@@ -12,6 +12,7 @@
#include "diffcore.h"
#include "commit.h"
#include "revision.h"...
| Sep 5, 9:17 pm 2007 |
| Junio C Hamano | Re: [PATCH] allow bulk import to be packed
This needs major work to be usable.
Although fast-import knows object name of each blob, being a
quick-and-dirty patch, git-add does not ask for it and still
computes the blob names by itself. The only thing this
proof-of-concept patch buys is that the resulting object
database is packed, and does not get loose objects.
-
| Sep 5, 9:36 pm 2007 |
| Kristian | builtin commit series sent
Hi,
I finally sat down and finished the last details in my git-commit.sh
port and made it pass the test suite. The test suite is cruel, but
awesome. There's one test that doesn't look right to me:
t1400-update-ref.sh. The 'creating initial files' case does a git
commit --amend and apparently expect to commit the changed contents of
the file F, even though it hasn't been added to the index. Similarly,
there's a git commit -F M just below it that does the same thing. I'm
not sure how they pass ...
| Sep 5, 8:45 pm 2007 |
| Shawn O. Pearce | Re: builtin commit series sent
Yea. It doesn't actually matter in this test. The following
patch can be applied and the test will still pass:
diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
index c4c0dfa..ce045b2 100755
--- a/t/t1400-update-ref.sh
+++ b/t/t1400-update-ref.sh
@@ -198,11 +198,9 @@ test_expect_success \
GIT_AUTHOR_DATE="2005-05-26 23:41" \
GIT_COMMITTER_DATE="2005-05-26 23:41" git-commit -F M -a &&
h_OTHER=$(git rev-parse --verify HEAD) &&
- echo FIXED >F &&
...
| Sep 5, 10:09 pm 2007 |
| krh | [PATCH 7/9] Add strbuf_read_path().
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
builtin-tag.c | 7 +------
strbuf.c | 15 +++++++++++++++
strbuf.h | 1 +
3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/builtin-tag.c b/builtin-tag.c
index 1aff952..8724d49 100644
--- a/builtin-tag.c
+++ b/builtin-tag.c
@@ -53,14 +53,9 @@ static void launch_editor(const char *path, struct strbuf *sb)
if (run_command(&child))
die("There was a problem with the editor %s.", editor);
- fd ...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 8/9] Export rerere() and launch_editor().
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
builtin-rerere.c | 16 ++++++++++++++++
builtin-tag.c | 3 +--
commit.h | 1 +
strbuf.h | 1 +
4 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/builtin-rerere.c b/builtin-rerere.c
index 29d057c..eb22a28 100644
--- a/builtin-rerere.c
+++ b/builtin-rerere.c
@@ -415,6 +415,22 @@ static int is_rerere_enabled(void)
return 1;
}
+/* Export for builtin-commit. */
+int rerere(void)
+{
+ ...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 9/9] Implement git commit as a builtin command.
Move git-commit.sh to contrib/examples.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
Makefile | 9 +-
builtin-commit.c | 742 ++++++++++++++++++++++++++++++++++++++++
builtin.h | 3 +-
contrib/examples/git-commit.sh | 665 +++++++++++++++++++++++++++++++++++
git-commit.sh | 665 -----------------------------------
git.c | 3 +-
6 files changed, 1414 insertions(+), 673 de...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 1/9] Enable wt-status output to a given FILE pointer.
Still defaults to stdout, but you can now override wt_status.fp after
calling wt_status_prepare().
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
color.c | 18 ++++++------
color.h | 4 +-
wt-status.c | 85 ++++++++++++++++++++++++++++++----------------------------
wt-status.h | 3 ++
4 files changed, 58 insertions(+), 52 deletions(-)
diff --git a/color.c b/color.c
index 09d82ee..124ba33 100644
--- a/color.c
+++ b/color.c
@@ -135,39 +135,39 @@ int git_config...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 2/9] Enable wt-status to run against non-standard ind...
We still default to get_index_file(), but this can be overridden
by setting wt_status.index_file after calling wt_status_prepare().
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
wt-status.c | 3 ++-
wt-status.h | 1 +
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/wt-status.c b/wt-status.c
index 65a7259..0cf9b81 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -53,6 +53,7 @@ void wt_status_prepare(struct wt_status *s)
s->branch = head ? xstrdup(head) : ...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 3/9] Add strbuf_printf() to do formatted printing to ...
Also, expose strbuf_add() and strbuf_add_char() to add raw data to the buffer.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
strbuf.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------
strbuf.h | 3 ++
2 files changed, 65 insertions(+), 7 deletions(-)
diff --git a/strbuf.c b/strbuf.c
index e33d06b..2805c11 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -11,16 +11,26 @@ static void strbuf_begin(struct strbuf *sb) {
strbuf_init(sb);
}
-static void inline s...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 4/9] Introduce entry point for launching add--interac...
This refactors builtin-add.c a little to provide a unique entry point
for launching git add --interactive, which will be used by
builtin-commit too. If we later want to make add --interactive a
builtin or change how it is launched, we just start from this function.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
builtin-add.c | 15 ++++++++++-----
commit.h | 9 +++++++++
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/builtin-add.c b/builtin-add.c
index ...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 5/9] Introduce strbuf_read_fd().
This function reads from a given fd into a strbuf until end of file.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
strbuf.c | 19 +++++++++++++++++++
strbuf.h | 1 +
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/strbuf.c b/strbuf.c
index 2805c11..fcfc05e 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -50,6 +50,25 @@ void read_line(struct strbuf *sb, FILE *fp, int term) {
strbuf_end(sb);
}
+int strbuf_read_fd(struct strbuf *sb, int fd)
+{
+ int len, tot...
| Sep 5, 8:23 pm 2007 |
| krh | [PATCH 6/9] Rewrite launch_editor, create_tag and stripspace...
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
---
builtin-stripspace.c | 45 +++++++++++++-------------
builtin-tag.c | 84 +++++++++++++++++++++-----------------------------
builtin.h | 1 -
strbuf.c | 43 +++++---------------------
strbuf.h | 2 +
5 files changed, 68 insertions(+), 107 deletions(-)
diff --git a/builtin-stripspace.c b/builtin-stripspace.c
index 916355c..f0264a8 100644
--- a/builtin-stripspace.c
+++ b/builtin-str...
| Sep 5, 8:23 pm 2007 |
| Dmitry V. Levin | [PATCH 2/3] Makefile: Add install-lib and install-include ta...
Several external projects (e.g. parsecvs) need libgit library
and related header files.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
Makefile | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index 51af531..d50e30b 100644
--- a/Makefile
+++ b/Makefile
@@ -143,6 +143,8 @@ STRIP ?= strip
prefix = $(HOME)
bindir = $(prefix)/bin
+libdir = $(prefix)/lib
+includedir = $(prefix)/include
gitexecdir = $(bindir)
sharedir =...
| Sep 5, 7:22 pm 2007 |
| Dmitry V. Levin | [PATCH 3/3] Makefile: Add cache-tree.h to the public headers...
Some external projects (e.g. parsecvs) need cache-tree.h file.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index d50e30b..2b04829 100644
--- a/Makefile
+++ b/Makefile
@@ -283,7 +283,7 @@ LIB_FILE=libgit.a
XDIFF_LIB=xdiff/lib.a
LIB_H = \
- archive.h blob.h cache.h commit.h csum-file.h delta.h grep.h \
+ archive.h blob.h cache.h cache-tree.h commit.h csum-file.h delta.h ...
| Sep 5, 7:22 pm 2007 |
| Junio C Hamano | Re: [PATCH 3/3] Makefile: Add cache-tree.h to the public hea...
Your patch shows that our Makefile has been lacking a necessary
dependency for a long time. LIB_H is not "public headers list",
but more like "the headers everybody depends on", and the header
file should have been on that list. Thanks.
I am however not convinced it is a good idea to treat libgit.a
as if it is a library. It is not a library in the usual sense
of the word. Originally we did libgit.a primarily so that we do
not have to list all the *.o dependencies in the Makefile out of
lazin...
| Sep 5, 8:16 pm 2007 |
| Dmitry V. Levin | Re: [PATCH 3/3] Makefile: Add cache-tree.h to the public hea...
On Wed, Sep 05, 2007 at 05:16:47PM -0700, Junio C Hamano wrote:
I'd certainly prefer libgit.so with stable interface instead, but
parsecvs needs -lgit now, it cannot wait for "good library".
--=20
ldv
| Sep 5, 8:37 pm 2007 |
| Dmitry V. Levin | [PATCH 1/3] git-gui/Makefile: Replace libdir with gitgui_lib...
On GNU/Linux, libdir is used to mean "/usr/lib or /usr/lib64"
depending on architecture. Different libdir meaning breaks
idiomatic expressions like rpm specfile "make libdir=%_libdir".
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
git-gui/Makefile | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/git-gui/Makefile b/git-gui/Makefile
index 1bac6fe..f143b2c 100644
--- a/git-gui/Makefile
+++ b/git-gui/Makefile
@@ -76,8 +76,8 @@ SHELL_PATH_SQ = ...
| Sep 5, 7:21 pm 2007 |
| Shawn O. Pearce | Re: [PATCH 1/3] git-gui/Makefile: Replace libdir with gitgui...
Although I could apply this with `am -3` I'm NACK'ing this right
git-gui is its own project with its own Makefile. Junio includes
it in git.git to help widen its audience, and because it is quite
portable and easy for him to include. In the future git-gui will
become a proper subproject of git.git.
If you want to define libdir in git's toplevel Makefile *and*
that definition is being exported down into git-gui's Makefile
then I think git's toplevel Makefile should arrange for it to
not expo...
| Sep 5, 10:32 pm 2007 |
| Dmitry V. Levin | [PATCH 1/2] git-commit: Disallow unchanged tree in non-merge...
Do not commit an unchanged tree in non-merge mode.
While regular mode is already handled by git-runstatus, this cheap check
allows to avoid costly git-runstatus later. Also, amend mode needs
special attention, because git-runstatus return value is ignored.
The idea is that amend should not commit an unchanged tree,
one should just remove the top commit using git-reset instead.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
git-commit.sh | 10 ++++++++++
1 files changed, 10 inse...
| Sep 5, 7:49 pm 2007 |
| Shawn O. Pearce | Re: [PATCH 1/2] git-commit: Disallow unchanged tree in non-m...
A laudable goal. git-gui also does this. Turns out the other
checks within git-gui prevent the user from ever getting that far.
I probably should remove the empty tree check as it costs CPU time
NO. `git commit --amend` is *often* used for fixing the commit
message. Or adding additional detail. Forcing the user to do
a `git reset --soft HEAD^ && git commit --amend` just because
you don't want git-commit to make an "empty commit" (which it
doesn't usually like to do now anyway!) is a ...
| Sep 5, 10:25 pm 2007 |
| Dmitry V. Levin | [PATCH 2/2] git-commit: Add --no-status option
By default, git-commit runs git-runstatus to print changes between
the index and the working tree. This operation is very costly and
is not always necessary. New option allows user to commit without
running git-runstatus when appropriate.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
---
Documentation/git-commit.txt | 7 ++++++-
git-commit.sh | 11 ++++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-commit.txt b/Documenta...
| Sep 5, 7:49 pm 2007 |
| Govind Salinas | Fwd: [PATCH] Invoke "git gc --auto" from "git add" and "git ...
Forgot to cc the list.
---------- Forwarded message ----------
From: Govind Salinas <govindsalinas@gmail.com>
Date: Sep 5, 2007 3:57 PM
Subject: Re: [PATCH] Invoke "git gc --auto" from "git add" and "git fetch"
To: Junio C Hamano <gitster@pobox.com>
I have a completely uninformed question...
Can git-add/rm/etc create dangling object or objects that would
be cleaned up by git-gc --auto? I would think (and I could be
completely off base here) that you would only want to call gc
...
| Sep 5, 4:59 pm 2007 |
| Robin Rosenberg | [PATCH] Clean up .dotest if an error occurs before rebase wo...
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
---
git-rebase.sh | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 3bd66b0..81c48d1 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -253,23 +253,33 @@ else
fi
# The tree must be really really clean.
-git update-index --refresh || exit
+git update-index --refresh || {
+ rm -rf .dotest
+ exit 1
+}
+
diff=$(git diff-index --cached --name-stat...
| Sep 5, 3:27 pm 2007 |
| Junio C Hamano | Re: [PATCH] Clean up .dotest if an error occurs before rebas...
It looks to me that we should instead delay the creation of
that .dotest directory until we determine that we _are_ going to
be able to run git-rebase, no?
-
| Sep 5, 4:07 pm 2007 |
| Mike Hommey | Significant performance waste in git-svn and friends
Hi,
Being a pervert abusing the way subversion doesn't deal with branches
and tags, I'm actually not a user of git-svn or git-svnimport, because
they just can't deal easily with my perversion. So I'm writing a script
to do the conversion for me, and since I also like to learn new things
when I'm coding, I'm writing it in ruby.
Anyways, one of the things I'm trying to convert is my svk repository
for debian packaging of xulrunner (so, a significant subset of the
mozilla tree), which doesn't invol...
| Sep 5, 2:47 pm 2007 |
| Junio C Hamano | Re: Significant performance waste in git-svn and friends
I *obviously* hate this patch, as it makes this Porcelain
command to be aware of the internal representation too much.
I wonder if letting fast-import handle the object creation is an
option, though.
-
| Sep 5, 4:40 pm 2007 |
| Shawn O. Pearce | Re: Significant performance waste in git-svn and friends
Me too. I think its bad enough that fast-import knows the
I agree. This is *exactly* what fast-import was built for. It
really would be the better tool to use here. Much better than
reinventing the wheel. Its already been invented twice for you
in Git (normal object creation path and fast-import path). No
need to do it a third time.
--
Shawn.
-
| Sep 5, 10:16 pm 2007 |
| David Kastrup | Re: Significant performance waste in git-svn and friends
I think it would be saner to give git-hash-object an operation mode
that makes it usable as a pipe-controlled daemon, so that one needs
not fork and exec for interning another object. That way, porcelain
commands could keep one bidirectional pipe (feed object type and
source and whether to use -w into git-hash-project, receive object id)
to git-hash-object around until they finish.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
-
| Sep 5, 5:19 pm 2007 |
| Shawn O. Pearce | Re: Significant performance waste in git-svn and friends
Aside from getting the hashes back from fast-import, that's what
fast-import is for. I could also make it disable writing. Hmm.
Junio and I were just talking about making fast-import send the
marks table back out on stdout. This would make it easier for a
frontend process to stream a whole bunch of objects into the process,
then get back all of their SHA-1s. Less context switches and more
parallel operation.
--
Shawn.
-
| Sep 5, 10:19 pm 2007 |
| Patrick Doyle | Re: Significant performance waste in git-svn and friends
I'll add my hearty vote of support, and perhaps even a patch or two,
to anything that would make git-svn faster. Just last week, I gave up
waiting for it to complete the import of a (rather large) uClinux
distribution, falling back on SVN. I'm looking forward to trying it
again with Mike's patch, or perhaps even implementing and trying out
David's idea.
Hmmm.... I'm supposed to be on a couple of planes for a rather longish
period of time next week. Perhaps I'll give it a shot. (But don't
count...
| Sep 5, 9:07 pm 2007 |
| Pavel Roskin | [PATCH] git.__remotes_from_dir() should only return lists
If there are no remotes, return empty list, not None. The later doesn't
work with builtin set().
This fixes t1001-branch-rename.sh
Signed-off-by: Pavel Roskin <proski@gnu.org>
---
stgit/git.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/stgit/git.py b/stgit/git.py
index 4b4c626..f847cce 100644
--- a/stgit/git.py
+++ b/stgit/git.py
@@ -953,7 +953,7 @@ def __remotes_from_dir(dir):
if os.path.exists(d):
return os.listdir(d)
else:
...
| Sep 5, 12:57 pm 2007 |
| Lars Hjemli | [RFC/PATCH] git-svn: add support for --first-parent
When git-svn uses git-log to find embedded 'git-svn-id'-lines in commit
messages, it can get confused when local history contains merges with
other git-svn branches. But if --first-parent is supplied to git-log,
working_head_info() will only see 'branch-local' commits and thus the
first commit containing a 'git-svn-id' line should refer to the correct
subversion branch.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
---
This passes the test-suite and I've used it to correctly dcommit agains...
| Sep 5, 5:35 am 2007 |
| Eric Wong | Re: [RFC/PATCH] git-svn: add support for --first-parent
At first glance this seems reasonable. I didn't know about git-log
--first-parent until now, but it seems like a good 80% solution.
Ideally, we'd probably stop, say something and give the user the choice
of branches if multiple parents available.
--
Eric Wong
-
| Sep 5, 6:19 am 2007 |
| David Kastrup | Re: People unaware of the importance of "git gc"?
And the first one might get habitually killed by the user unwittingly
having started it (because he really only logs in for shorter amounts
of times than needed for git-gc to finish), wasting disk space and
time all the while.
--
David Kastrup
-
| Sep 5, 5:13 am 2007 |
| Steven Grimm | Re: People unaware of the importance of "git gc"?
Which can get cleaned up when the next repack starts. This is no
different from unfinished files accumulating from aborted/killed manual
Git handles this already:
$ git-gc
fatal: unable to create '.git/packed-refs.lock': File exists
error: failed to run pack-refs
Quite true, but that's already impossible, so not a problem.
One other thing: The heuristics for this can be such that users who are
already regularly running git-gc by hand will see no change in behavior.
Their repos wil...
| Sep 5, 5:07 am 2007 |
| David Kastrup | Re: People unaware of the importance of "git gc"?
Which output? stdout? stderr? Where is the question appearing?
What if the command has been started in the background? What if stdin
(not stdout) is from a pipe, maybe for taking a commit message? What
if stdin is from a pseudo-tty because the commit has been started with
an internal shell command inside of Emacs, and the command/message
Oh, it is not hard to _guess_. Just throw a die. What is hard is to
_know_ 100% sure that one is doing the right thing and not breaking
any legitimate use...
| Sep 5, 5:02 am 2007 |
| David Kastrup | Re: People unaware of the importance of "git gc"?
A bad idea which one can turn optionally off remains a bad idea for
everyone that has not been bitten enough by it already to actually
look up the problem and remedy.
Make this a warning.
--
David Kastrup
-
| Sep 5, 4:47 am 2007 |
| Linus Torvalds | People unaware of the importance of "git gc"?
So we had a git bof at linux.conf.eu yesterday, and I leart something
new: even people who have been using git for a long time apparently don't
necessarily realize the importance of repacking.
James Bottomley (the Linux SCSI maintainer) is an old-time BK user, and
very comfy using git. But when he was demonstrating things on his poor old
laptop, simple things like "git branch" literally took a long time, and
James didn't seem to realize that the fact that he had apparently never
ever repack...
| Sep 5, 3:09 am 2007 |
| Alex Riesen | Re: People unaware of the importance of "git gc"?
I do it from time to time. Seldom in working repositories, because
they usually come and go before they have a chance to accumulate
enough of loose objects. I do a partial repack (git repack -d) after
every import from p4 repo, because every snapshot of it is an ugly
mess changing files all over the tree. Sometimes, after I merged a big
chunk with the p4 repo and sent it over (the process involves rebase).
It is usually concious decision when to do a repack or gc. The repack
time is seldom a prob...
| Sep 5, 5:07 pm 2007 |
| J. Bruce Fields | Re: People unaware of the importance of "git gc"?
Well, this may just prove I'm an idiot, but one of the reasons I rarely
run it is that I have trouble remembering exactly what it does; in
particular,
- does it prune anything that might be needed by a repo I
cloned with -s?
- is there anything that's unsafe to do while the git-gc is
running?
- what are the implications for http users if this is a public
repo?
- is git-gc enough on its own or should I be running something
more agressive ocassionally too?
No doubt they all ha...
| Sep 5, 1:44 pm 2007 |
| Brandon Casey | Re: People unaware of the importance of "git gc"?
YES! yikes.
This is about the best argument put forth so far for not automatically
running git-gc. Personally, I think git-gc should not remove unreferenced
objects without --prune (but I haven't done anything about it). But even
if git-gc was modified in this way, an occasional git-gc --prune would
still be necessary to remove all of the unreferenced and dangling objects
safely with a human thinking about the shared repo implications (unless
shared repo handling is modified).
-brandon
...
| Sep 5, 2:46 pm 2007 |
| David Kastrup | Re: People unaware of the importance of "git gc"?
Well, it could also mean that if git finds a dead symbolic link when
looking up an object, it should check the corresponding link target
directory for a pack file with the respective object... and if it
finds such a pack file, create a link to it and use it.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
-
| Sep 5, 3:09 pm 2007 |
| Mike Hommey | Re: People unaware of the importance of "git gc"?
The problem here is that the clone could be having refs on objects from
the origin that don't have refs left there. git-gc might, at some point,
prune these refs, and the clone would have dangling refs. That could
easily happen, for example, if you rebase a branch in the origin, but
still have a clone with the original branch.
Mike
-
| Sep 5, 3:20 pm 2007 |
| J. Bruce Fields | Re: People unaware of the importance of "git gc"?
One of the two of us is very confused about what "git-clone -s" does.
See the git-clone man page. I don't think symlinks are involved.
--b.
-
| Sep 5, 3:13 pm 2007 |
| David Kastrup | Re: People unaware of the importance of "git gc"?
Guilty as charged.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
-
| Sep 5, 3:43 pm 2007 |
| previous day | today | next day |
|---|---|---|
| September 4, 2007 | September 5, 2007 | September 6, 2007 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Amit K. Arora | [RFC] Heads up on sys_fallocate() |
| Chuck Ebbert | Why do so many machines need "noapic"? |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Natalie Protasevich | [BUG] New Kernel Bugs |
