##// END OF EJS Templates
phase-shelve: honor and prefer obs shelves for existence and modified time
Jason R. Coombs -
r50322:c4417029 default
parent child Browse files
Show More
@@ -112,12 +112,19 b' class Shelf:'
112 112 self.name = name
113 113
114 114 def exists(self):
115 return self.vfs.exists(self.name + b'.patch') and self.vfs.exists(
116 self.name + b'.hg'
117 )
115 return self._exists(b'.shelve') or self._exists(b'.patch', b'.hg')
116
117 def _exists(self, *exts):
118 return all(self.vfs.exists(self.name + ext) for ext in exts)
118 119
119 120 def mtime(self):
120 return self.vfs.stat(self.name + b'.patch')[stat.ST_MTIME]
121 try:
122 return self._stat(b'.shelve')[stat.ST_MTIME]
123 except FileNotFoundError:
124 return self._stat(b'.patch')[stat.ST_MTIME]
125
126 def _stat(self, ext):
127 return self.vfs.stat(self.name + ext)
121 128
122 129 def writeinfo(self, info):
123 130 scmutil.simplekeyvaluefile(self.vfs, self.name + b'.shelve').write(info)
@@ -243,12 +243,12 b' apply it and make sure our state is as e'
243 243 (this also tests that same timestamp prevents backups from being
244 244 removed, even though there are more than 'maxbackups' backups)
245 245
246 $ f -t .hg/shelve-backup/default.patch
247 .hg/shelve-backup/default.patch: file
248 $ touch -t 200001010000 .hg/shelve-backup/default.patch
249 $ f -t .hg/shelve-backup/default-1.patch
250 .hg/shelve-backup/default-1.patch: file
251 $ touch -t 200001010000 .hg/shelve-backup/default-1.patch
246 $ f -t .hg/shelve-backup/default.shelve
247 .hg/shelve-backup/default.shelve: file
248 $ touch -t 200001010000 .hg/shelve-backup/default.shelve
249 $ f -t .hg/shelve-backup/default-1.shelve
250 .hg/shelve-backup/default-1.shelve: file
251 $ touch -t 200001010000 .hg/shelve-backup/default-1.shelve
252 252
253 253 $ hg unshelve
254 254 unshelving change 'default-01'
General Comments 0
You need to be logged in to leave comments. Login now