Skip to content

Commit

Permalink
Ensure executable bit is kept on the web editor (#10607)
Browse files Browse the repository at this point in the history
Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
  • Loading branch information
sapk authored Mar 4, 2020
1 parent 3d5d211 commit 4e65d2b
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions modules/repofiles/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ func CreateOrUpdateRepoFile(repo *models.Repository, doer *models.User, opts *Up

encoding := "UTF-8"
bom := false
executable := false

if !opts.IsNewFile {
fromEntry, err := commit.GetTreeEntryByPath(fromTreePath)
Expand Down Expand Up @@ -265,6 +266,7 @@ func CreateOrUpdateRepoFile(repo *models.Repository, doer *models.User, opts *Up
return nil, models.ErrSHAOrCommitIDNotProvided{}
}
encoding, bom = detectEncodingAndBOM(fromEntry, repo)
executable = fromEntry.IsExecutable()
}

// For the path where this file will be created/updated, we need to make
Expand Down Expand Up @@ -388,8 +390,14 @@ func CreateOrUpdateRepoFile(repo *models.Repository, doer *models.User, opts *Up
}

// Add the object to the index
if err := t.AddObjectToIndex("100644", objectHash, treePath); err != nil {
return nil, err
if executable {
if err := t.AddObjectToIndex("100755", objectHash, treePath); err != nil {
return nil, err
}
} else {
if err := t.AddObjectToIndex("100644", objectHash, treePath); err != nil {
return nil, err
}
}

// Now write the tree
Expand Down

0 comments on commit 4e65d2b

Please sign in to comment.