git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 7/7] Use a separate directory for patches under each branch subdir

From
CLChuck Lever <cel@netapp.com>
Date
Nov 29, 2005, 22:09 UTC
Message-ID
<20051129220951.9885.59702.stgit@dexter.citi.umich.edu>
In-Reply-To
<20051129220552.9885.41086.stgit@dexter.citi.umich.edu>

Currently you can't specify a patch name that matches the name of one of the stgit special files under .git/patches/<branch-name>. Let's use a new subdirectory under .git/patches/<branch-name> to contain just the patch directories to remove this limitation.

Signed-off-by: Chuck Lever <cel@netapp.com>
---
 stgit/stack.py |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/stgit/stack.py b/stgit/stack.py
index 2866121..46b404c 100644
--- a/stgit/stack.py
+++ b/stgit/stack.py
@@ -264,14 +264,19 @@ class Series:
 
         if self.__name:
             base_dir = git.get_base_dir()
-            self.__patch_dir = os.path.join(base_dir, 'patches',
-                                            self.__name)
             self.__base_file = os.path.join(base_dir, 'refs', 'bases',
                                             self.__name)
-            self.__applied_file = os.path.join(self.__patch_dir, 'applied')
-            self.__unapplied_file = os.path.join(self.__patch_dir, 'unapplied')
-            self.__current_file = os.path.join(self.__patch_dir, 'current')
-            self.__descr_file = os.path.join(self.__patch_dir, 'description')
+            self.__series_dir = os.path.join(base_dir, 'patches',
+                                             self.__name)
+
+            self.__applied_file = os.path.join(self.__series_dir, 'applied')
+            self.__unapplied_file = os.path.join(self.__series_dir, 'unapplied')
+            self.__current_file = os.path.join(self.__series_dir, 'current')
+            self.__descr_file = os.path.join(self.__series_dir, 'description')
+
+            self.__patch_dir = os.path.join(self.__series_dir, 'patches')
+            if not os.path.isdir(self.__patch_dir):
+                self.__patch_dir = self.__series_dir
 
     def get_branch(self):
         """Return the branch name for the Series object
@@ -323,15 +328,15 @@ class Series:
         return self.__base_file
 
     def get_protected(self):
-        return os.path.isfile(os.path.join(self.__patch_dir, 'protected'))
+        return os.path.isfile(os.path.join(self.__series_dir, 'protected'))
 
     def protect(self):
-        protect_file = os.path.join(self.__patch_dir, 'protected')
+        protect_file = os.path.join(self.__series_dir, 'protected')
         if not os.path.isfile(protect_file):
             create_empty_file(protect_file)
 
     def unprotect(self):
-        protect_file = os.path.join(self.__patch_dir, 'protected')
+        protect_file = os.path.join(self.__series_dir, 'protected')
         if os.path.isfile(protect_file):
             os.remove(protect_file)
 
@@ -399,6 +404,7 @@ class Series:
         create_empty_file(self.__applied_file)
         create_empty_file(self.__unapplied_file)
         create_empty_file(self.__descr_file)
+        os.makedirs(os.path.join(self.__series_dir, 'patches'))
         self.__begin_stack_check()
 
     def rename(self, to_name):
Previous: Chuck LeverNext: Catalin Marinas
Message 11 of 16 in “[PATCH 0/7]”
  1. 0/7 Chuck Lever, Nov 29, 2005
  2. 1/7 Make "stg export" save the base commit in the output directoryChuck Lever, Nov 29, 2005
  3. Catalin MarinasNov 30, 2005
  4. 2/7 Use git-rev-parse to find the local GIT repositoryChuck Lever, Nov 29, 2005
  5. 3/7 Align branch descriptions in output of "stg branch -l"Chuck Lever, Nov 29, 2005
  6. 4/7 "stg series" option to show patch summary descriptionsChuck Lever, Nov 29, 2005
  7. 5/7 Add facility to print short list of patches around 'top'Chuck Lever, Nov 29, 2005
  8. 6/7 Add a "--clone" option to "stg branch"Chuck Lever, Nov 29, 2005
  9. Catalin MarinasDec 1, 2005
  10. Chuck LeverDec 1, 2005
  11. 7/7 Use a separate directory for patches under each branch subdirChuck Lever, Nov 29, 2005
  12. Catalin MarinasNov 30, 2005
  13. Chuck LeverNov 30, 2005
  14. Catalin MarinasNov 30, 2005
  15. Chuck LeverDec 1, 2005
  16. Catalin MarinasNov 30, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.