[gitg] Reuse previous filemode when staging patches
- From: Alberto Fanjul <albfan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] Reuse previous filemode when staging patches
- Date: Tue, 11 Oct 2022 21:25:40 +0000 (UTC)
commit abd884ffe35b1567f6bd545257889cad7afc6b01
Author: Marc Häfner <mhaefner posteo net>
Date: Sun May 9 19:15:24 2021 +0200
Reuse previous filemode when staging patches
Fixes #190
libgitg/gitg-stage.vala | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/libgitg/gitg-stage.vala b/libgitg/gitg-stage.vala
index 42f53008..4fed34b8 100644
--- a/libgitg/gitg-stage.vala
+++ b/libgitg/gitg-stage.vala
@@ -855,6 +855,7 @@ public class Stage : Object
}
private void apply_patch(Ggit.Index index,
+ uint filemode,
InputStream old_stream,
InputStream new_stream,
PatchSet patch) throws Error
@@ -868,6 +869,7 @@ public class Stage : Object
var new_entry = d_repository.create_index_entry_for_path(patch.filename,
new_id);
+ new_entry.set_mode(filemode);
index.add(new_entry);
index.write();
@@ -944,7 +946,7 @@ public class Stage : Object
var old_stream = new MemoryInputStream.from_bytes(new Bytes(old_content));
- apply_patch(index, old_stream, new_stream, patch);
+ apply_patch(index, entry.get_mode(), old_stream, new_stream, patch);
new_stream.close();
old_stream.close();
@@ -1022,7 +1024,6 @@ public class Stage : Object
entry = entries.get_by_path(file, 0);
}
-
uchar[] head_content = new uchar[0];
try {
var head_entry = tree.get_by_path(patch.filename);
@@ -1040,7 +1041,7 @@ public class Stage : Object
var reversed = patch.reversed();
try {
- apply_patch(index, index_stream, head_stream, reversed);
+ apply_patch(index, entry.get_mode(), index_stream, head_stream, reversed);
} catch(Error e) {
var stage = d_repository.stage;
stage.delete_path.begin(file.get_path(), (obj, res) => {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]