git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).