Merge "Untracked files should not be included in stash"
This commit is contained in:
commit
f37e25e2c3
|
@ -88,6 +88,7 @@ public void setUp() throws Exception {
|
|||
git.add().addFilepattern("file.txt").call();
|
||||
head = git.commit().setMessage("add file").call();
|
||||
assertNotNull(head);
|
||||
writeTrashFile("untracked.txt", "content");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -241,6 +241,7 @@ public RevCommit call() throws GitAPIException {
|
|||
MutableObjectId id = new MutableObjectId();
|
||||
List<PathEdit> wtEdits = new ArrayList<PathEdit>();
|
||||
List<String> wtDeletes = new ArrayList<String>();
|
||||
boolean hasChanges = false;
|
||||
do {
|
||||
AbstractTreeIterator headIter = treeWalk.getTree(0,
|
||||
AbstractTreeIterator.class);
|
||||
|
@ -254,9 +255,12 @@ public RevCommit call() throws GitAPIException {
|
|||
new UnmergedPathException(
|
||||
indexIter.getDirCacheEntry()));
|
||||
if (wtIter != null) {
|
||||
if (indexIter != null && wtIter.idEqual(indexIter)
|
||||
|| headIter != null
|
||||
&& wtIter.idEqual(headIter))
|
||||
if (indexIter == null && headIter == null)
|
||||
continue;
|
||||
hasChanges = true;
|
||||
if (indexIter != null && wtIter.idEqual(indexIter))
|
||||
continue;
|
||||
if (headIter != null && wtIter.idEqual(headIter))
|
||||
continue;
|
||||
treeWalk.getObjectId(id, 0);
|
||||
final DirCacheEntry entry = new DirCacheEntry(
|
||||
|
@ -278,10 +282,14 @@ public void apply(DirCacheEntry ent) {
|
|||
}
|
||||
});
|
||||
}
|
||||
hasChanges = true;
|
||||
if (wtIter == null && headIter != null)
|
||||
wtDeletes.add(treeWalk.getPathString());
|
||||
} while (treeWalk.next());
|
||||
|
||||
if (!hasChanges)
|
||||
return null;
|
||||
|
||||
String branch = Repository.shortenRefName(head.getTarget()
|
||||
.getName());
|
||||
|
||||
|
|
Loading…
Reference in New Issue