* [StGit PATCH] Read several objects at once with git cat-file --batch
2008-08-08 8:27 [StGit] kha/{safe,experimental} updated Karl Hasselström
@ 2008-08-08 8:07 ` Karl Hasselström
2008-08-10 22:25 ` Catalin Marinas
2008-08-13 21:54 ` [StGit] kha/{safe,experimental} updated Catalin Marinas
1 sibling, 1 reply; 12+ messages in thread
From: Karl Hasselström @ 2008-08-08 8:07 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git
Instead of spawning a separate cat-file process for every blob and
commit we want to read. This speeds things up slightly: about 6-8%
when uncommitting and rebasing 1470 linux-kernel patches (perftest.py
rebase-newrebase-add-file-linux).
Signed-off-by: Karl Hasselström <kha@treskal.com>
---
stgit/lib/git.py | 34 +++++++++++++++++++++++++++++++++-
stgit/run.py | 17 +++++++++++++++++
2 files changed, 50 insertions(+), 1 deletions(-)
diff --git a/stgit/lib/git.py b/stgit/lib/git.py
index 648e190..95efd9a 100644
--- a/stgit/lib/git.py
+++ b/stgit/lib/git.py
@@ -520,6 +520,37 @@ class RunWithEnvCwd(RunWithEnv):
@param args: Command and argument vector"""
return RunWithEnv.run(self, args, self.env_in_cwd)
+class CatFileProcess(object):
+ def __init__(self, repo):
+ self.__repo = repo
+ self.__proc = None
+ def __get_process(self):
+ if not self.__proc:
+ self.__proc = self.__repo.run(['git', 'cat-file', '--batch']
+ ).run_background()
+ return self.__proc
+ def cat_file(self, sha1):
+ p = self.__get_process()
+ p.stdin.write('%s\n' % sha1)
+ p.stdin.flush()
+
+ # Read until we have the entire status line.
+ s = ''
+ while not '\n' in s:
+ s += os.read(p.stdout.fileno(), 4096)
+ h, b = s.split('\n', 1)
+ if h == '%s missing' % sha1:
+ raise SomeException()
+ hash, type, length = h.split()
+ assert hash == sha1
+ length = int(length)
+
+ # Read until we have the entire object plus the trailing
+ # newline.
+ while len(b) < length + 1:
+ b += os.read(p.stdout.fileno(), 4096)
+ return type, b[:-1]
+
class Repository(RunWithEnv):
"""Represents a git repository."""
def __init__(self, directory):
@@ -531,6 +562,7 @@ class Repository(RunWithEnv):
self.__default_index = None
self.__default_worktree = None
self.__default_iw = None
+ self.__catfile = CatFileProcess(self)
env = property(lambda self: { 'GIT_DIR': self.__git_dir })
@classmethod
def default(cls):
@@ -580,7 +612,7 @@ class Repository(RunWithEnv):
directory = property(lambda self: self.__git_dir)
refs = property(lambda self: self.__refs)
def cat_object(self, sha1):
- return self.run(['git', 'cat-file', '-p', sha1]).raw_output()
+ return self.__catfile.cat_file(sha1)[1]
def rev_parse(self, rev):
try:
return self.get_commit(self.run(
diff --git a/stgit/run.py b/stgit/run.py
index 7493ed3..ccca059 100644
--- a/stgit/run.py
+++ b/stgit/run.py
@@ -130,6 +130,19 @@ class Run:
raise self.exc('%s failed: %s' % (self.__cmd[0], e))
self.__log_end(self.exitcode)
self.__check_exitcode()
+ def __run_background(self):
+ """Run in background."""
+ assert self.__indata == None
+ try:
+ p = subprocess.Popen(self.__cmd, env = self.__env, cwd = self.__cwd,
+ stdin = subprocess.PIPE,
+ stdout = subprocess.PIPE,
+ stderr = subprocess.PIPE)
+ except OSError, e:
+ raise self.exc('%s failed: %s' % (self.__cmd[0], e))
+ self.stdin = p.stdin
+ self.stdout = p.stdout
+ self.stderr = p.stderr
def returns(self, retvals):
self.__good_retvals = retvals
return self
@@ -181,6 +194,10 @@ class Run:
def run(self):
"""Just run, with no IO redirection."""
self.__run_noio()
+ def run_background(self):
+ """Run as a background process."""
+ self.__run_background()
+ return self
def xargs(self, xargs):
"""Just run, with no IO redirection. The extra arguments are
appended to the command line a few at a time; the command is
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [StGit] kha/{safe,experimental} updated
@ 2008-08-08 8:27 Karl Hasselström
2008-08-08 8:07 ` [StGit PATCH] Read several objects at once with git cat-file --batch Karl Hasselström
2008-08-13 21:54 ` [StGit] kha/{safe,experimental} updated Catalin Marinas
0 siblings, 2 replies; 12+ messages in thread
From: Karl Hasselström @ 2008-08-08 8:27 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git, Samuel Tardieu, Daniel White
Catalin has pulled the safe and stable branches, but I've accumulated
some new stuff in kha/safe.
The stack log stuff (and nothing else) is still in kha/experimental.
It's unchanged since my last status mail, except for the addition of
an optimization at the end (will post as a follow-up to this mail).
-+-
The following changes since commit 36a06e0194e013552499677e431e528ecb2faee9:
Karl Hasselström (1):
Global performance logging
are available in the git repository at:
git://repo.or.cz/stgit/kha.git safe
Daniel White (7):
Fix Makefile to correctly pass prefix option
Remove variables regarding section 7 man pages
Fix default install location for manpages
Add install-doc target to makefile
Add install-html target to makefile
Remove installation of documentation from setup.py
Updated INSTALL with documentation of Makefile
Karl Hasselström (1):
Add some tests of refreshing removed files
Samuel Tardieu (2):
Do not insert an empty line before the diffstat info
Do not mess-up with commit message formatting when sending email
Documentation/Makefile | 25 +++++------
INSTALL | 15 ++++--
Makefile | 12 ++++-
setup.py | 2 +-
stgit/commands/mail.py | 4 +-
t/t2702-refresh-rm.sh | 101 ++++++++++++++++++++++++++++++++++++++++++++
templates/mailattch.tmpl | 1 -
templates/patchexport.tmpl | 1 -
templates/patchmail.tmpl | 1 -
9 files changed, 135 insertions(+), 27 deletions(-)
create mode 100755 t/t2702-refresh-rm.sh
-+-
The following changes since commit 42857cbe036ba5917eacc9dbb5644d395f638ed9:
Samuel Tardieu (1):
Do not mess-up with commit message formatting when sending email
are available in the git repository at:
git://repo.or.cz/stgit/kha.git experimental
Karl Hasselström (17):
Write to a stack log when stack is modified
New command: stg reset
Log conflicts separately
Log conflicts separately for all commands
Add a --hard flag to stg reset
Don't write a log entry if there were no changes
Move stack reset function to a shared location
New command: stg undo
New command: stg redo
Log and undo external modifications
Make "stg log" show stack log instead of patch log
Convert "stg refresh" to the new infrastructure
New refresh tests
Remove --undo flags from stg commands and docs
Refactor stgit.commands.edit
Implement "stg refresh --edit" again
Read several objects at once with git cat-file --batch
Documentation/tutorial.txt | 4 +-
TODO | 2 -
stgit/commands/branch.py | 19 +-
stgit/commands/clone.py | 2 +-
stgit/commands/coalesce.py | 2 +-
stgit/commands/common.py | 18 ++-
stgit/commands/diff.py | 6 +-
stgit/commands/edit.py | 82 +------
stgit/commands/export.py | 2 +-
stgit/commands/files.py | 6 +-
stgit/commands/float.py | 2 +-
stgit/commands/fold.py | 2 +-
stgit/commands/goto.py | 3 +-
stgit/commands/hide.py | 2 +-
stgit/commands/id.py | 2 +-
stgit/commands/imprt.py | 4 +-
stgit/commands/log.py | 169 +++++----------
stgit/commands/mail.py | 8 +-
stgit/commands/new.py | 3 +-
stgit/commands/patches.py | 2 +-
stgit/commands/pick.py | 2 +-
stgit/commands/pop.py | 4 +-
stgit/commands/pull.py | 2 +-
stgit/commands/push.py | 31 +--
stgit/commands/rebase.py | 4 +-
stgit/commands/redo.py | 52 ++++
stgit/commands/refresh.py | 338 ++++++++++++++++++---------
stgit/commands/rename.py | 2 +-
stgit/commands/repair.py | 11 +-
stgit/commands/reset.py | 57 +++++
stgit/commands/resolved.py | 2 +-
stgit/commands/show.py | 2 +-
stgit/commands/sink.py | 2 +-
stgit/commands/status.py | 3 +-
stgit/commands/sync.py | 26 +--
stgit/commands/undo.py | 49 ++++
stgit/commands/unhide.py | 2 +-
stgit/git.py | 4 -
stgit/lib/edit.py | 99 ++++++++
stgit/lib/git.py | 108 ++++++++-
stgit/lib/log.py | 524 ++++++++++++++++++++++++++++++++++++++++++
stgit/lib/stack.py | 25 ++
stgit/lib/transaction.py | 125 +++++++----
stgit/main.py | 8 +
stgit/run.py | 17 ++
stgit/stack.py | 45 +----
stgit/utils.py | 18 +-
t/t1200-push-modified.sh | 2 +-
t/t1201-pull-trailing.sh | 2 +-
t/t1202-push-undo.sh | 8 +-
t/t1400-patch-history.sh | 103 --------
t/t2300-refresh-subdir.sh | 29 +++-
t/t2701-refresh-p.sh | 2 +-
t/t3100-reset.sh | 160 +++++++++++++
t/t3101-reset-hard.sh | 56 +++++
t/t3102-undo.sh | 86 +++++++
t/t3103-undo-hard.sh | 56 +++++
t/t3104-redo.sh | 122 ++++++++++
t/t3105-undo-external-mod.sh | 68 ++++++
t/t3300-edit.sh | 4 +-
60 files changed, 1986 insertions(+), 614 deletions(-)
create mode 100644 stgit/commands/redo.py
create mode 100644 stgit/commands/reset.py
create mode 100644 stgit/commands/undo.py
create mode 100644 stgit/lib/edit.py
create mode 100644 stgit/lib/log.py
delete mode 100755 t/t1400-patch-history.sh
create mode 100755 t/t3100-reset.sh
create mode 100755 t/t3101-reset-hard.sh
create mode 100755 t/t3102-undo.sh
create mode 100755 t/t3103-undo-hard.sh
create mode 100755 t/t3104-redo.sh
create mode 100755 t/t3105-undo-external-mod.sh
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit PATCH] Read several objects at once with git cat-file --batch
2008-08-08 8:07 ` [StGit PATCH] Read several objects at once with git cat-file --batch Karl Hasselström
@ 2008-08-10 22:25 ` Catalin Marinas
2008-08-10 23:58 ` Karl Hasselström
0 siblings, 1 reply; 12+ messages in thread
From: Catalin Marinas @ 2008-08-10 22:25 UTC (permalink / raw)
To: Karl Hasselström; +Cc: git
2008/8/8 Karl Hasselström <kha@treskal.com>:
> Instead of spawning a separate cat-file process for every blob and
> commit we want to read. This speeds things up slightly: about 6-8%
> when uncommitting and rebasing 1470 linux-kernel patches (perftest.py
> rebase-newrebase-add-file-linux).
Which version of Git got the --batch option to git-cat-file? It might
be possible that default Git in Debian (testing) or Ubuntu doesn't
have this option. Maybe we could still have the original behaviour as
a fallback.
Otherwise, the patch looks allright. It took me a bit of time to see
why we need the new run_background() function (but in my current Git,
1.5.3.4.206.g58ba4, there wasn't such an option; I had to upgrade).
Thanks.
--
Catalin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit PATCH] Read several objects at once with git cat-file --batch
2008-08-10 22:25 ` Catalin Marinas
@ 2008-08-10 23:58 ` Karl Hasselström
0 siblings, 0 replies; 12+ messages in thread
From: Karl Hasselström @ 2008-08-10 23:58 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git
On 2008-08-10 23:25:08 +0100, Catalin Marinas wrote:
> 2008/8/8 Karl Hasselström <kha@treskal.com>:
>
> > Instead of spawning a separate cat-file process for every blob and
> > commit we want to read. This speeds things up slightly: about 6-8%
> > when uncommitting and rebasing 1470 linux-kernel patches
> > (perftest.py rebase-newrebase-add-file-linux).
>
> Which version of Git got the --batch option to git-cat-file? It
> might be possible that default Git in Debian (testing) or Ubuntu
> doesn't have this option. Maybe we could still have the original
> behaviour as a fallback.
Hmm, I never realized it was so new. It's not in any 1.5.5 release,
but it is in 1.5.6-rc0. So realistically, we'll have to require
version 1.5.6 for this. (The patch should add a paragraph about the
required git version to some doc file.)
A fallback is certainly conceivable. The only nontrivial thing about
it would be to detect when it's necessary. And to make sure both code
paths are tested ...
(I have a similar patch that uses diff-tree --stdin, but that needs a
git with the patches I posted some hours ago.)
> Otherwise, the patch looks allright. It took me a bit of time to see
> why we need the new run_background() function (but in my current
> Git, 1.5.3.4.206.g58ba4, there wasn't such an option; I had to
> upgrade).
Thanks. I'm not 100% pleased with the background running stuff yet. It
works, but could use some refactoring so that callers don't have to
know too much.
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit] kha/{safe,experimental} updated
2008-08-08 8:27 [StGit] kha/{safe,experimental} updated Karl Hasselström
2008-08-08 8:07 ` [StGit PATCH] Read several objects at once with git cat-file --batch Karl Hasselström
@ 2008-08-13 21:54 ` Catalin Marinas
2008-08-17 20:18 ` Karl Hasselström
1 sibling, 1 reply; 12+ messages in thread
From: Catalin Marinas @ 2008-08-13 21:54 UTC (permalink / raw)
To: Karl Hasselström; +Cc: git, Samuel Tardieu, Daniel White
2008/8/8 Karl Hasselström <kha@treskal.com>:
> Catalin has pulled the safe and stable branches, but I've accumulated
> some new stuff in kha/safe.
I merged it, thanks.
> The stack log stuff (and nothing else) is still in kha/experimental.
> It's unchanged since my last status mail, except for the addition of
> an optimization at the end (will post as a follow-up to this mail).
I'm on holiday until Monday and I haven't got the time to test the
performance but we can probably move the experimental stuff into
master and start preparing some release candidates. I'll repost my
patches with the new git id format as well and we need a 0.14.4 in the
meantime (hopefully over the next two weeks).
Thanks.
--
Catalin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit] kha/{safe,experimental} updated
2008-08-13 21:54 ` [StGit] kha/{safe,experimental} updated Catalin Marinas
@ 2008-08-17 20:18 ` Karl Hasselström
2008-08-21 22:16 ` Catalin Marinas
0 siblings, 1 reply; 12+ messages in thread
From: Karl Hasselström @ 2008-08-17 20:18 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git, Samuel Tardieu, Daniel White
On 2008-08-13 22:54:57 +0100, Catalin Marinas wrote:
> I'm on holiday until Monday and I haven't got the time to test the
> performance but we can probably move the experimental stuff into
> master and start preparing some release candidates.
Excellent.
> I'll repost my patches with the new git id format as well
Excellent. I was about to merge them a while back, but I noticed you
hadn't addressed the latest round of comments then.
> and we need a 0.14.4 in the meantime (hopefully over the next two
> weeks).
Excellent.
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit] kha/{safe,experimental} updated
2008-08-17 20:18 ` Karl Hasselström
@ 2008-08-21 22:16 ` Catalin Marinas
0 siblings, 0 replies; 12+ messages in thread
From: Catalin Marinas @ 2008-08-21 22:16 UTC (permalink / raw)
To: Karl Hasselström; +Cc: git, Samuel Tardieu, Daniel White
2008/8/17 Karl Hasselström <kha@treskal.com>:
> On 2008-08-13 22:54:57 +0100, Catalin Marinas wrote:
>> I'll repost my patches with the new git id format as well
>
> Excellent. I was about to merge them a while back, but I noticed you
> hadn't addressed the latest round of comments then.
I actually decided to commit them since the comments were minor like
fixing the commit log or using strip_prefix(). I implemented them and
hopefully haven't forgotten any.
--
Catalin
^ permalink raw reply [flat|nested] 12+ messages in thread
* [StGit] kha/{safe,experimental} updated
@ 2008-09-21 15:37 Karl Hasselström
2008-09-24 22:48 ` Catalin Marinas
0 siblings, 1 reply; 12+ messages in thread
From: Karl Hasselström @ 2008-09-21 15:37 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git, David Kågedal, Daniel White
Just pushed out the stack log stuff to kha/safe. It really should be
ready for wider use at this point, and it was getting tiresome to keep
rebasing it.
One patch is still in experimental -- it depends on a new git feature
that isn't in any release yet.
There's also a patch for much improved bash completion support; I'll
post it as a reply to this mail.
-+-
The following changes since commit 3ce5fec2ef4154369653a41eb7692aca25878298:
Catalin Marinas (1):
Merge branch 'stable'
are available in the git repository at:
git://repo.or.cz/stgit/kha.git safe
Daniel White (1):
Fixes for auto-generation of man pages
David Kågedal (1):
Add support for initializing a branch for stgit from Emacs.
Karl Hasselström (24):
Auto-generate man pages for all StGit commands
asciidoc.conf: Steal updates from git
Generate command lists automatically
Write to a stack log when stack is modified
New command: stg reset
Log conflicts separately
Log conflicts separately for all commands
Add a --hard flag to stg reset
Don't write a log entry if there were no changes
Move stack reset function to a shared location
New command: stg undo
New command: stg redo
Log and undo external modifications
Test that stg coalesce handles head != top gracefully
Check for top == head at the start of every transaction
Make "stg log" show stack log instead of patch log
Convert "stg refresh" to the new infrastructure
New refresh tests
Remove --undo flags from stg commands and docs
Refactor stgit.commands.edit
Invoke the correct interactive editor
Implement "stg refresh --edit" again
Automatic bash completion
Read several objects at once with git cat-file --batch
.gitignore | 1 +
Documentation/.gitignore | 5 +-
Documentation/COMMAND-TEMPLATE.txt | 42 ---
Documentation/Makefile | 15 +-
Documentation/asciidoc.conf | 100 +++++--
Documentation/stg-branch.txt | 114 --------
Documentation/stg-clone.txt | 32 ---
Documentation/stg-init.txt | 29 --
Documentation/stg-new.txt | 115 --------
Documentation/stg-sink.txt | 49 ----
Documentation/stg.txt | 138 +----------
Documentation/tutorial.txt | 4 +-
INSTALL | 4 +-
Makefile | 21 ++-
TODO | 2 -
contrib/stgit-completion.bash | 270 -------------------
contrib/stgit.el | 12 +-
setup.py | 4 +-
stg-build | 41 +++
stgit/argparse.py | 260 +++++++++++++++---
stgit/commands/.gitignore | 1 +
stgit/commands/__init__.py | 78 ++++++
stgit/commands/branch.py | 148 +++++++----
stgit/commands/clean.py | 23 +-
stgit/commands/clone.py | 23 +-
stgit/commands/coalesce.py | 16 +-
stgit/commands/commit.py | 27 ++-
stgit/commands/common.py | 18 +-
stgit/commands/delete.py | 19 +-
stgit/commands/diff.py | 36 ++--
stgit/commands/edit.py | 106 ++------
stgit/commands/export.py | 53 ++--
stgit/commands/files.py | 31 ++-
stgit/commands/float.py | 24 +-
stgit/commands/fold.py | 26 +-
stgit/commands/goto.py | 16 +-
stgit/commands/hide.py | 23 +-
stgit/commands/id.py | 15 +-
stgit/commands/imprt.py | 98 ++++----
stgit/commands/init.py | 17 +-
stgit/commands/log.py | 192 +++++---------
stgit/commands/mail.py | 126 ++++-----
stgit/commands/new.py | 39 ++--
stgit/commands/patches.py | 27 +-
stgit/commands/pick.py | 57 ++--
stgit/commands/pop.py | 33 ++--
stgit/commands/pull.py | 28 +-
stgit/commands/push.py | 65 ++---
stgit/commands/rebase.py | 30 +-
stgit/commands/redo.py | 56 ++++
stgit/commands/refresh.py | 355 ++++++++++++++++--------
stgit/commands/rename.py | 32 ++-
stgit/commands/repair.py | 21 +-
stgit/commands/reset.py | 65 +++++
stgit/commands/resolved.py | 33 ++--
stgit/commands/series.py | 82 +++---
stgit/commands/show.py | 36 ++--
stgit/commands/sink.py | 46 +++-
stgit/commands/status.py | 61 ++---
stgit/commands/sync.py | 56 ++---
stgit/commands/top.py | 18 +-
stgit/commands/uncommit.py | 34 ++-
stgit/commands/undo.py | 53 ++++
stgit/commands/unhide.py | 24 +-
stgit/completion.py | 140 ++++++++++
stgit/git.py | 4 -
stgit/lib/edit.py | 99 +++++++
stgit/lib/git.py | 116 ++++++++-
stgit/lib/log.py | 524 ++++++++++++++++++++++++++++++++++++
stgit/lib/stack.py | 25 ++
stgit/lib/transaction.py | 128 ++++++---
stgit/main.py | 140 +---------
stgit/run.py | 19 ++
stgit/stack.py | 45 +---
stgit/utils.py | 22 +-
t/t1200-push-modified.sh | 2 +-
t/t1201-pull-trailing.sh | 2 +-
t/t1202-push-undo.sh | 8 +-
t/t1400-patch-history.sh | 103 -------
t/t2300-refresh-subdir.sh | 29 ++-
t/t2600-coalesce.sh | 13 +
t/t2701-refresh-p.sh | 2 +-
t/t3100-reset.sh | 160 +++++++++++
t/t3101-reset-hard.sh | 53 ++++
t/t3102-undo.sh | 81 ++++++
t/t3103-undo-hard.sh | 53 ++++
t/t3104-redo.sh | 114 ++++++++
t/t3105-undo-external-mod.sh | 65 +++++
t/t3300-edit.sh | 12 +-
t/test-lib.sh | 5 +-
90 files changed, 3348 insertions(+), 2241 deletions(-)
delete mode 100644 Documentation/COMMAND-TEMPLATE.txt
delete mode 100644 Documentation/stg-branch.txt
delete mode 100644 Documentation/stg-clone.txt
delete mode 100644 Documentation/stg-init.txt
delete mode 100644 Documentation/stg-new.txt
delete mode 100644 Documentation/stg-sink.txt
delete mode 100644 contrib/stgit-completion.bash
create mode 100755 stg-build
create mode 100644 stgit/commands/.gitignore
create mode 100644 stgit/commands/redo.py
create mode 100644 stgit/commands/reset.py
create mode 100644 stgit/commands/undo.py
create mode 100644 stgit/completion.py
create mode 100644 stgit/lib/edit.py
create mode 100644 stgit/lib/log.py
delete mode 100755 t/t1400-patch-history.sh
create mode 100755 t/t3100-reset.sh
create mode 100755 t/t3101-reset-hard.sh
create mode 100755 t/t3102-undo.sh
create mode 100755 t/t3103-undo-hard.sh
create mode 100755 t/t3104-redo.sh
create mode 100755 t/t3105-undo-external-mod.sh
-+-
The following changes since commit 2f34dbb4625e0c04a983229477a50ba4de7036bf:
Karl Hasselström (1):
Read several objects at once with git cat-file --batch
are available in the git repository at:
git://repo.or.cz/stgit/kha.git experimental
Karl Hasselström (1):
Diff several trees at once with git diff-tree --stdin
INSTALL | 5 +++--
stgit/lib/git.py | 37 +++++++++++++++++++++++++++++++++----
2 files changed, 36 insertions(+), 6 deletions(-)
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit] kha/{safe,experimental} updated
2008-09-21 15:37 Karl Hasselström
@ 2008-09-24 22:48 ` Catalin Marinas
2008-09-25 7:33 ` Karl Hasselström
0 siblings, 1 reply; 12+ messages in thread
From: Catalin Marinas @ 2008-09-24 22:48 UTC (permalink / raw)
To: Karl Hasselström; +Cc: git, David Kågedal, Daniel White
2008/9/21 Karl Hasselström <kha@treskal.com>:
> Just pushed out the stack log stuff to kha/safe. It really should be
> ready for wider use at this point, and it was getting tiresome to keep
> rebasing it.
Great work, I merged (most of) it. Many thanks.
> One patch is still in experimental -- it depends on a new git feature
> that isn't in any release yet.
[...]
> Read several objects at once with git cat-file --batch
I skipped this one for now. I'm using Ubuntu (Hardy) and the git
version is 1.5.4.3. I would wait until we get at least a stable git
release with this feature.
I haven't looked in detail but can we have a way to drop back to the
old implementation if the option isn't available?
--
Catalin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit] kha/{safe,experimental} updated
2008-09-24 22:48 ` Catalin Marinas
@ 2008-09-25 7:33 ` Karl Hasselström
0 siblings, 0 replies; 12+ messages in thread
From: Karl Hasselström @ 2008-09-25 7:33 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git, David Kågedal, Daniel White
On 2008-09-24 23:48:08 +0100, Catalin Marinas wrote:
> 2008/9/21 Karl Hasselström <kha@treskal.com>:
>
> > Just pushed out the stack log stuff to kha/safe. It really should
> > be ready for wider use at this point, and it was getting tiresome
> > to keep rebasing it.
>
> Great work, I merged (most of) it. Many thanks.
Thanks.
> > One patch is still in experimental -- it depends on a new git
> > feature that isn't in any release yet.
> [...]
> > Read several objects at once with git cat-file --batch
>
> I skipped this one for now.
I was talking about kha/experimental~0 here; you're talking about
kha/safe~0, which is kha/experimental~1. But never mind.
> I'm using Ubuntu (Hardy) and the git version is 1.5.4.3. I would
> wait until we get at least a stable git release with this feature.
I'm using it too, but I always build my own git, so I never know what
version the system comes with ... but I see your point. I'll put that
patch back in kha/experimental for now.
> I haven't looked in detail but can we have a way to drop back to the
> old implementation if the option isn't available?
I guess in this case we could, since if the option exists, we can use
it. (The second patch is not so lucky; the flag exists since quite a
while, but lacks a feature in older gits.)
Since it's just a moderate speed-up in both cases, I'm kind of
inclined to just wait for relevant distributions to catch up, and
avoid all the hassle.
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 12+ messages in thread
* [StGit] kha/{safe,experimental} updated
@ 2008-12-08 20:39 Karl Hasselström
2008-12-10 20:40 ` Karl Hasselström
0 siblings, 1 reply; 12+ messages in thread
From: Karl Hasselström @ 2008-12-08 20:39 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git, Gustav Hållberg, David Kågedal
The "safe" branch has a whole bunch of stgit.el improvements by David
and Gustav. "experimental" has the same two patches that just sit
there waiting for the git features they depend on to be sufficiently
widely deployed.
-+-
The following changes since commit b9756849c9297b23f0628bcb08bad9a52a8aacf8:
Dan Williams (1):
fix export -s
are available in the git repository at:
git://repo.or.cz/stgit/kha.git safe
David Kågedal (6):
stgit.el: Try to make the point stay on the coalesced patch
stgit.el: Rename stgit-refresh to stgit-reload
stgit.el: Move stgit-rename to C-c C-r
stgit.el: Add the stgit-refresh command
stgit.el: Show running commands
Use separate column for zero in output of stg series -e
Gustav Hållberg (5):
stgit.el: Compact code for populating stgit-mode-map
stgit.el: Add 'q' for stgit-quit
stgit.el: Add 'm' as alias for stgit-mark
stgit.el: Add stgit-unmark-down
stgit.el: Fix some indentation
Karl Hasselström (1):
stg series: Explain the list format better
contrib/stgit.el | 155 ++++++++++++++++++++++++++++++----------------
stgit/commands/series.py | 34 +++++++----
2 files changed, 124 insertions(+), 65 deletions(-)
-+-
The following changes since commit 6fdc3442eda397a2c7ab999193cdcc156423f773:
Karl Hasselström (1):
stg series: Explain the list format better
are available in the git repository at:
git://repo.or.cz/stgit/kha.git experimental
Karl Hasselström (2):
Read several objects at once with git cat-file --batch
Diff several trees at once with git diff-tree --stdin
INSTALL | 5 +++-
stgit/lib/git.py | 79 +++++++++++++++++++++++++++++++++++++++++++++++++----
stgit/run.py | 19 +++++++++++++
3 files changed, 96 insertions(+), 7 deletions(-)
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [StGit] kha/{safe,experimental} updated
2008-12-08 20:39 Karl Hasselström
@ 2008-12-10 20:40 ` Karl Hasselström
0 siblings, 0 replies; 12+ messages in thread
From: Karl Hasselström @ 2008-12-10 20:40 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git, Gustav Hållberg, David Kågedal
On 2008-12-08 21:39:23 +0100, Karl Hasselström wrote:
> The "safe" branch has a whole bunch of stgit.el improvements by
> David and Gustav. "experimental" has the same two patches that just
> sit there waiting for the git features they depend on to be
> sufficiently widely deployed.
Updated with three more stgit.el patches from Gustav. (One of them
only in experimental, since Gustav seemed to think it was a bit
hackish, and David hasn't commented on it yet, and I'm an elisp noob.)
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2008-12-10 20:42 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-08 8:27 [StGit] kha/{safe,experimental} updated Karl Hasselström
2008-08-08 8:07 ` [StGit PATCH] Read several objects at once with git cat-file --batch Karl Hasselström
2008-08-10 22:25 ` Catalin Marinas
2008-08-10 23:58 ` Karl Hasselström
2008-08-13 21:54 ` [StGit] kha/{safe,experimental} updated Catalin Marinas
2008-08-17 20:18 ` Karl Hasselström
2008-08-21 22:16 ` Catalin Marinas
-- strict thread matches above, loose matches on Subject: below --
2008-09-21 15:37 Karl Hasselström
2008-09-24 22:48 ` Catalin Marinas
2008-09-25 7:33 ` Karl Hasselström
2008-12-08 20:39 Karl Hasselström
2008-12-10 20:40 ` Karl Hasselström
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).