threads / discuss / 14667

StGit: kha/{stable,safe,experimental} updated

Subject: StGit: kha/{stable,safe,experimental} updated

## tl;dr

5 messages between Jul 25, 2008 and Aug 6, 2008.

replies: 4people: 2as markdown or json

Karl Hasselström· Jul 25, 2008, 01:39 UTC · lore

The big update since last time is support (in kha/experimental) for hidden patches in the new-infrastructure commands and stack log.

Unless more problems are uncovered, I'll soon move all patches in experimental to safe (which means I'll be recommending that Catalin merge them).

                                 -+-
The following changes since commit a6c4be12abcf0906a63de8a72c887c360f89ea82:
  Karl Hasselström (1):
        Don't allow extra diff options with "stg status"
are available in the git repository at:
  git://repo.or.cz/stgit/kha.git stable
Daniel White (1):
      Fixed default install location
Karl Hasselström (1):
      Test that we can add a new file to a non-topmost patch with refresh -p
Miklos Vajna (2):
      setup.py: don't try to import stgit.run before the python version check
      setup.py: fix error message when running with python-2.3
 setup.cfg            |    2 +-
 setup.py             |    4 ++--
 t/t2701-refresh-p.sh |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 49 insertions(+), 3 deletions(-)
 create mode 100755 t/t2701-refresh-p.sh
                                 -+-
The following changes since commit 2e37b61d886ef21200007b57f496aaf182f42705:
  Karl Hasselström (1):
        Test for "stg edit"
are available in the git repository at:
  git://repo.or.cz/stgit/kha.git safe
Daniel White (1):
      Fixed default install location
Karl Hasselström (19):
      Test that we can add a new file to a non-topmost patch with refresh -p
      Merge branch 'stable'
      Test for exit code with command_error()
      stg uncommit should never touch the branch head
      Make sure that stg uncommit doesn't touch the branch head
      Fix uncommit status message
      Discard stderr output from git apply if the caller wants
      Do simple in-index merge with diff+apply instead of read-tree
      Reuse the same temp index in a transaction
      Library functions for tree and blob manipulation
      Teach stgit.lib.transaction about hidden patches
      Test operations on hidden patches
      stg goto: Handle hidden patches more gracefully
      Add utility function for reordering patches
      Add some performance testing scripts
      Log subprocess activity to a file
      Show full command in subprocess profiling
      Log subprocess calls during performance testing
      Global performance logging
Miklos Vajna (2):
      setup.py: don't try to import stgit.run before the python version check
      setup.py: fix error message when running with python-2.3
 perf/.gitignore               |    2 +
 perf/create_synthetic_repo.py |   61 +++++++++
 perf/find_patchbomb.py        |   31 +++++
 perf/perftest.py              |   96 ++++++++++++++
 perf/setup.sh                 |   52 ++++++++
 setup.cfg                     |    2 +-
 setup.py                      |    4 +-
 stgit/commands/edit.py        |    2 +-
 stgit/commands/goto.py        |    2 +
 stgit/commands/uncommit.py    |    6 +-
 stgit/lib/git.py              |  274 +++++++++++++++++++++++++++++++++--------
 stgit/lib/transaction.py      |   61 +++++++--
 stgit/main.py                 |   10 ++-
 stgit/out.py                  |   11 +-
 stgit/run.py                  |   59 +++++++--
 t/t1206-push-hidden.sh        |   28 ++++
 t/t1300-uncommit.sh           |   13 ++-
 t/t1303-commit.sh             |   20 +++
 t/t1701-goto-hidden.sh        |   23 ++++
 t/t2701-refresh-p.sh          |   46 +++++++
 t/t2900-rename.sh             |    7 +
 t/t3300-edit.sh               |   16 ++-
 22 files changed, 731 insertions(+), 95 deletions(-)
 create mode 100644 perf/.gitignore
 create mode 100644 perf/create_synthetic_repo.py
 create mode 100644 perf/find_patchbomb.py
 create mode 100644 perf/perftest.py
 create mode 100644 perf/setup.sh
 create mode 100755 t/t1206-push-hidden.sh
 create mode 100755 t/t1303-commit.sh
 create mode 100755 t/t1701-goto-hidden.sh
 create mode 100755 t/t2701-refresh-p.sh
                                 -+-
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 experimental
Karl Hasselström (16):
      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
 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             |   74 ++++++-
 stgit/lib/log.py             |  524 ++++++++++++++++++++++++++++++++++++++++++
 stgit/lib/stack.py           |   25 ++
 stgit/lib/transaction.py     |  125 +++++++----
 stgit/main.py                |    8 +
 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 +-
 59 files changed, 1936 insertions(+), 613 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
Catalin Marinas· Jul 27, 2008, 08:44 UTC · re: Karl Hasselström · lore

Re: StGit: kha/{stable,safe,experimental} updated

2008/7/25 Karl Hasselström <kha@treskal.com>:
Show 6 quoted lines
> The big update since last time is support (in kha/experimental) for
> hidden patches in the new-infrastructure commands and stack log.
>
> Unless more problems are uncovered, I'll soon move all patches in
> experimental to safe (which means I'll be recommending that Catalin
> merge them).

I'll have a look at the new stack log format (my main worry) this week but the other patches look OK.

I merged the safe and stable branches.
Thanks.
-- 
Catalin
Karl Hasselström· Aug 1, 2008, 10:22 UTC · re: Catalin Marinas · lore

Re: StGit: kha/{stable,safe,experimental} updated

On 2008-07-27 09:44:31 +0100, Catalin Marinas wrote:
Show 7 quoted lines
> 2008/7/25 Karl Hasselström <kha@treskal.com>:
>
> > The big update since last time is support (in kha/experimental) for
> > hidden patches in the new-infrastructure commands and stack log.
> 
> I'll have a look at the new stack log format (my main worry) this
> week but the other patches look OK.

Heh. It's _always_ your main worry. But rightly so, since mistakes could be costly. Thanks for spending time on this with me.

I made one change apart from adding the hidden patches: use the same tree for both the full and simplified logs. It's no more costly to write, and made the parsing substantially simpler.

> I merged the safe and stable branches.
Thanks.
-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle
Catalin Marinas· Aug 5, 2008, 21:33 UTC · re: Karl Hasselström · lore

Re: StGit: kha/{stable,safe,experimental} updated

2008/8/1 Karl Hasselström <kha@treskal.com>:
Show 12 quoted lines
> On 2008-07-27 09:44:31 +0100, Catalin Marinas wrote:
>
>> 2008/7/25 Karl Hasselström <kha@treskal.com>:
>>
>> > The big update since last time is support (in kha/experimental) for
>> > hidden patches in the new-infrastructure commands and stack log.
>>
>> I'll have a look at the new stack log format (my main worry) this
>> week but the other patches look OK.
>
> Heh. It's _always_ your main worry. But rightly so, since mistakes
> could be costly. Thanks for spending time on this with me.

I'm usually worried about performance but will give it a try with a Linux kernel and real patches. Have you done any tests to compare it with my master branch?

Would we even need to prune the stack history? It might get pretty large after about 1-2 years of usage.

-- 
Catalin
Karl Hasselström· Aug 6, 2008, 10:18 UTC · re: Catalin Marinas · lore

Re: StGit: kha/{stable,safe,experimental} updated

On 2008-08-05 22:33:57 +0100, Catalin Marinas wrote:
Show 8 quoted lines
> 2008/8/1 Karl Hasselström <kha@treskal.com>:
>
> > Heh. It's _always_ your main worry. But rightly so, since mistakes
> > could be costly. Thanks for spending time on this with me.
>
> I'm usually worried about performance but will give it a try with a
> Linux kernel and real patches. Have you done any tests to compare it
> with my master branch?

Yes. I posted the benchmark results a while back -- as I recall, the performance was about the same for large uncommit and rebase operations.

Also, I'm currently investigating some possible optimizations. Will post new bechmarks afterwards, if I get something working.

> Would we even need to prune the stack history? It might get pretty
> large after about 1-2 years of usage.

Yes, it's growing without bound, so eventually one would have to prune it.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle

← back to recent threads