From: "David Kågedal" <davidk@lysator.liu.se>
To: git@vger.kernel.org, catalin.marinas@gmail.com
Subject: [StGit PATCH 13/13] Remove the 'top' field
Date: Sat, 15 Sep 2007 00:32:15 +0200 [thread overview]
Message-ID: <20070914223215.7001.80066.stgit@morpheus.local> (raw)
In-Reply-To: <20070914222819.7001.55921.stgit@morpheus.local>
The top is instead implicitly defined by the patch ref.
Signed-off-by: David Kågedal <davidk@lysator.liu.se>
---
stgit/stack.py | 26 +++++++++-----------------
1 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/stgit/stack.py b/stgit/stack.py
index 00b91c6..94d3eee 100644
--- a/stgit/stack.py
+++ b/stgit/stack.py
@@ -158,7 +158,6 @@ class Patch(StgitObject):
def create(self):
os.mkdir(self._dir())
- self.create_empty_field('top')
def delete(self):
for f in os.listdir(self._dir()):
@@ -190,11 +189,6 @@ class Patch(StgitObject):
def __update_log_ref(self, ref):
git.set_ref(self.__log_ref, ref)
- def update_top_ref(self):
- top = self.get_top()
- if top:
- self.__update_top_ref(top)
-
def get_old_bottom(self):
return git.get_commit(self.get_old_top()).get_parent()
@@ -205,26 +199,18 @@ class Patch(StgitObject):
return self._get_field('top.old')
def get_top(self):
- top = self._get_field('top')
- try:
- ref = git.rev_parse(self.__top_ref)
- except:
- ref = None
- assert not ref or top == ref
- return top
+ return git.rev_parse(self.__top_ref)
def set_top(self, value, backup = False):
if backup:
- curr = self._get_field('top')
+ curr = self.get_top()
self._set_field('top.old', curr)
- self._set_field('top', value)
self.__update_top_ref(value)
def restore_old_boundaries(self):
top = self._get_field('top.old')
if top:
- self._set_field('top', top)
self.__update_top_ref(top)
return True
else:
@@ -436,7 +422,13 @@ class Series(PatchSet):
patch = patch.strip()
os.rename(os.path.join(branch_dir, patch),
os.path.join(patch_dir, patch))
- Patch(patch, patch_dir, refs_base).update_top_ref()
+ topfield = os.path.join(patch_dir, patch, 'top')
+ if os.path.isfile(topfield):
+ top = read_string(topfield, False)
+ else:
+ top = None
+ if top:
+ git.set_ref(refs_base + '/' + patch, top)
set_format_version(1)
# Update 1 -> 2.
next prev parent reply other threads:[~2007-09-14 22:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-14 22:31 [StGit PATCH 00/13] Eliminate 'top' and 'bottom' files David Kågedal
2007-09-14 22:31 ` [StGit PATCH 01/13] Add some more tests of "stg status" output David Kågedal
2007-09-14 22:31 ` [StGit PATCH 02/13] Clear up semantics of tree_status David Kågedal
2007-09-14 22:31 ` [StGit PATCH 03/13] Moved that status function to the status command file David Kågedal
2007-09-14 22:36 ` David Kågedal
2007-09-14 22:31 ` [StGit PATCH 04/13] Split Series.push_patch in two David Kågedal
2007-09-14 22:31 ` [StGit PATCH 05/13] Remove dead code from push_empty_patch David Kågedal
2007-09-14 22:31 ` [StGit PATCH 06/13] Refactor Series.push_patch David Kågedal
2007-09-14 22:31 ` [StGit PATCH 07/13] Clean up Series.refresh_patch David Kågedal
2007-09-14 22:31 ` [StGit PATCH 08/13] Add a 'bottom' parameter to Series.refresh_patch and use it David Kågedal
2007-09-14 22:31 ` [StGit PATCH 09/13] Clear up the semantics of Series.new_patch David Kågedal
2007-10-08 13:16 ` Catalin Marinas
2007-10-08 13:25 ` Karl Hasselström
2007-10-09 21:01 ` Catalin Marinas
2007-10-10 7:43 ` David Kågedal
2007-10-11 20:42 ` Catalin Marinas
2007-10-10 7:45 ` Karl Hasselström
2007-10-10 8:15 ` Karl Hasselström
2007-09-14 22:32 ` [StGit PATCH 10/13] Refactor Series.new_patch David Kågedal
2007-09-14 22:32 ` [StGit PATCH 11/13] Check bottom and invariants David Kågedal
2007-09-14 22:32 ` [StGit PATCH 12/13] Remove the 'bottom' field David Kågedal
2007-09-14 22:32 ` David Kågedal [this message]
2007-09-15 23:36 ` [StGit PATCH 13/13] Remove the 'top' field Karl Hasselström
2007-09-16 10:22 ` David Kågedal
2007-09-17 7:30 ` Karl Hasselström
2007-09-15 23:42 ` [StGit PATCH 00/13] Eliminate 'top' and 'bottom' files Karl Hasselström
2007-09-16 7:28 ` Catalin Marinas
2007-09-16 10:28 ` David Kågedal
2007-09-17 8:17 ` Karl Hasselström
2007-09-16 10:25 ` David Kågedal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070914223215.7001.80066.stgit@morpheus.local \
--to=davidk@lysator.liu.se \
--cc=catalin.marinas@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).