##// 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 self.name = name
112 self.name = name
113
113
114 def exists(self):
114 def exists(self):
115 return self.vfs.exists(self.name + b'.patch') and self.vfs.exists(
115 return self._exists(b'.shelve') or self._exists(b'.patch', b'.hg')
116 self.name + b'.hg'
116
117 )
117 def _exists(self, *exts):
118 return all(self.vfs.exists(self.name + ext) for ext in exts)
118
119
119 def mtime(self):
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 def writeinfo(self, info):
129 def writeinfo(self, info):
123 scmutil.simplekeyvaluefile(self.vfs, self.name + b'.shelve').write(info)
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 (this also tests that same timestamp prevents backups from being
243 (this also tests that same timestamp prevents backups from being
244 removed, even though there are more than 'maxbackups' backups)
244 removed, even though there are more than 'maxbackups' backups)
245
245
246 $ f -t .hg/shelve-backup/default.patch
246 $ f -t .hg/shelve-backup/default.shelve
247 .hg/shelve-backup/default.patch: file
247 .hg/shelve-backup/default.shelve: file
248 $ touch -t 200001010000 .hg/shelve-backup/default.patch
248 $ touch -t 200001010000 .hg/shelve-backup/default.shelve
249 $ f -t .hg/shelve-backup/default-1.patch
249 $ f -t .hg/shelve-backup/default-1.shelve
250 .hg/shelve-backup/default-1.patch: file
250 .hg/shelve-backup/default-1.shelve: file
251 $ touch -t 200001010000 .hg/shelve-backup/default-1.patch
251 $ touch -t 200001010000 .hg/shelve-backup/default-1.shelve
252
252
253 $ hg unshelve
253 $ hg unshelve
254 unshelving change 'default-01'
254 unshelving change 'default-01'
General Comments 0
You need to be logged in to leave comments. Login now