Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
e9d928e1
Commit
e9d928e1
authored
Jul 22, 2017
by
Alejandro Rodríguez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove unused Gitlab::Git operations
parent
5a97763e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
300 deletions
+0
-300
lib/gitlab/git/repository.rb
lib/gitlab/git/repository.rb
+0
-162
spec/lib/gitlab/git/repository_spec.rb
spec/lib/gitlab/git/repository_spec.rb
+0
-138
No files found.
lib/gitlab/git/repository.rb
View file @
e9d928e1
...
...
@@ -480,20 +480,6 @@ module Gitlab
end
end
# Sets HEAD to the commit specified by +ref+; +ref+ can be a branch or
# tag name or a commit SHA. Valid +reset_type+ values are:
#
# [:soft]
# the head will be moved to the commit.
# [:mixed]
# will trigger a +:soft+ reset, plus the index will be replaced
# with the content of the commit tree.
# [:hard]
# will trigger a +:mixed+ reset and the working directory will be
# replaced with the content of the index. (Untracked and ignored files
# will be left alone)
delegate
:reset
,
to: :rugged
# Mimic the `git clean` command and recursively delete untracked files.
# Valid keys that can be passed in the +options+ hash are:
#
...
...
@@ -518,154 +504,6 @@ module Gitlab
# TODO: implement this method
end
# Check out the specified ref. Valid options are:
#
# :b - Create a new branch at +start_point+ and set HEAD to the new
# branch.
#
# * These options are passed to the Rugged::Repository#checkout method:
#
# :progress ::
# A callback that will be executed for checkout progress notifications.
# Up to 3 parameters are passed on each execution:
#
# - The path to the last updated file (or +nil+ on the very first
# invocation).
# - The number of completed checkout steps.
# - The number of total checkout steps to be performed.
#
# :notify ::
# A callback that will be executed for each checkout notification
# types specified with +:notify_flags+. Up to 5 parameters are passed
# on each execution:
#
# - An array containing the +:notify_flags+ that caused the callback
# execution.
# - The path of the current file.
# - A hash describing the baseline blob (or +nil+ if it does not
# exist).
# - A hash describing the target blob (or +nil+ if it does not exist).
# - A hash describing the workdir blob (or +nil+ if it does not
# exist).
#
# :strategy ::
# A single symbol or an array of symbols representing the strategies
# to use when performing the checkout. Possible values are:
#
# :none ::
# Perform a dry run (default).
#
# :safe ::
# Allow safe updates that cannot overwrite uncommitted data.
#
# :safe_create ::
# Allow safe updates plus creation of missing files.
#
# :force ::
# Allow all updates to force working directory to look like index.
#
# :allow_conflicts ::
# Allow checkout to make safe updates even if conflicts are found.
#
# :remove_untracked ::
# Remove untracked files not in index (that are not ignored).
#
# :remove_ignored ::
# Remove ignored files not in index.
#
# :update_only ::
# Only update existing files, don't create new ones.
#
# :dont_update_index ::
# Normally checkout updates index entries as it goes; this stops
# that.
#
# :no_refresh ::
# Don't refresh index/config/etc before doing checkout.
#
# :disable_pathspec_match ::
# Treat pathspec as simple list of exact match file paths.
#
# :skip_locked_directories ::
# Ignore directories in use, they will be left empty.
#
# :skip_unmerged ::
# Allow checkout to skip unmerged files (NOT IMPLEMENTED).
#
# :use_ours ::
# For unmerged files, checkout stage 2 from index (NOT IMPLEMENTED).
#
# :use_theirs ::
# For unmerged files, checkout stage 3 from index (NOT IMPLEMENTED).
#
# :update_submodules ::
# Recursively checkout submodules with same options (NOT
# IMPLEMENTED).
#
# :update_submodules_if_changed ::
# Recursively checkout submodules if HEAD moved in super repo (NOT
# IMPLEMENTED).
#
# :disable_filters ::
# If +true+, filters like CRLF line conversion will be disabled.
#
# :dir_mode ::
# Mode for newly created directories. Default: +0755+.
#
# :file_mode ::
# Mode for newly created files. Default: +0755+ or +0644+.
#
# :file_open_flags ::
# Mode for opening files. Default:
# <code>IO::CREAT | IO::TRUNC | IO::WRONLY</code>.
#
# :notify_flags ::
# A single symbol or an array of symbols representing the cases in
# which the +:notify+ callback should be invoked. Possible values are:
#
# :none ::
# Do not invoke the +:notify+ callback (default).
#
# :conflict ::
# Invoke the callback for conflicting paths.
#
# :dirty ::
# Invoke the callback for "dirty" files, i.e. those that do not need
# an update but no longer match the baseline.
#
# :updated ::
# Invoke the callback for any file that was changed.
#
# :untracked ::
# Invoke the callback for untracked files.
#
# :ignored ::
# Invoke the callback for ignored files.
#
# :all ::
# Invoke the callback for all these cases.
#
# :paths ::
# A glob string or an array of glob strings specifying which paths
# should be taken into account for the checkout operation. +nil+ will
# match all files. Default: +nil+.
#
# :baseline ::
# A Rugged::Tree that represents the current, expected contents of the
# workdir. Default: +HEAD+.
#
# :target_directory ::
# A path to an alternative workdir directory in which the checkout
# should be performed.
def
checkout
(
ref
,
options
=
{},
start_point
=
"HEAD"
)
if
options
[
:b
]
rugged
.
branches
.
create
(
ref
,
start_point
)
options
.
delete
(
:b
)
end
default_options
=
{
strategy:
[
:recreate_missing
,
:safe
]
}
rugged
.
checkout
(
ref
,
default_options
.
merge
(
options
))
end
# Delete the specified branch from the repository
def
delete_branch
(
branch_name
)
rugged
.
branches
.
delete
(
branch_name
)
...
...
spec/lib/gitlab/git/repository_spec.rb
View file @
e9d928e1
...
...
@@ -378,144 +378,6 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
end
describe
"#reset"
do
change_path
=
File
.
join
(
SEED_STORAGE_PATH
,
TEST_NORMAL_REPO_PATH
,
"CHANGELOG"
)
untracked_path
=
File
.
join
(
SEED_STORAGE_PATH
,
TEST_NORMAL_REPO_PATH
,
"UNTRACKED"
)
tracked_path
=
File
.
join
(
SEED_STORAGE_PATH
,
TEST_NORMAL_REPO_PATH
,
"files"
,
"ruby"
,
"popen.rb"
)
change_text
=
"New changelog text"
untracked_text
=
"This file is untracked"
reset_commit
=
SeedRepo
::
LastCommit
::
ID
context
"--hard"
do
before
(
:all
)
do
# Modify a tracked file
File
.
open
(
change_path
,
"w"
)
do
|
f
|
f
.
write
(
change_text
)
end
# Add an untracked file to the working directory
File
.
open
(
untracked_path
,
"w"
)
do
|
f
|
f
.
write
(
untracked_text
)
end
@normal_repo
=
Gitlab
::
Git
::
Repository
.
new
(
'default'
,
TEST_NORMAL_REPO_PATH
)
@normal_repo
.
reset
(
"HEAD"
,
:hard
)
end
it
"should replace the working directory with the content of the index"
do
File
.
open
(
change_path
,
"r"
)
do
|
f
|
expect
(
f
.
each_line
.
first
).
not_to
eq
(
change_text
)
end
File
.
open
(
tracked_path
,
"r"
)
do
|
f
|
expect
(
f
.
each_line
.
to_a
[
8
]).
to
include
(
'raise RuntimeError, "System commands'
)
end
end
it
"should not touch untracked files"
do
expect
(
File
.
exist?
(
untracked_path
)).
to
be_truthy
end
it
"should move the HEAD to the correct commit"
do
new_head
=
@normal_repo
.
rugged
.
head
.
target
.
oid
expect
(
new_head
).
to
eq
(
reset_commit
)
end
it
"should move the tip of the master branch to the correct commit"
do
new_tip
=
@normal_repo
.
rugged
.
references
[
"refs/heads/master"
]
.
target
.
oid
expect
(
new_tip
).
to
eq
(
reset_commit
)
end
after
(
:all
)
do
# Fast-forward to the original HEAD
FileUtils
.
rm_rf
(
TEST_NORMAL_REPO_PATH
)
ensure_seeds
end
end
end
describe
"#checkout"
do
new_branch
=
"foo_branch"
context
"-b"
do
before
(
:all
)
do
@normal_repo
=
Gitlab
::
Git
::
Repository
.
new
(
'default'
,
TEST_NORMAL_REPO_PATH
)
@normal_repo
.
checkout
(
new_branch
,
{
b:
true
},
"origin/feature"
)
end
it
"should create a new branch"
do
expect
(
@normal_repo
.
rugged
.
branches
[
new_branch
]).
not_to
be_nil
end
it
"should move the HEAD to the correct commit"
do
expect
(
@normal_repo
.
rugged
.
head
.
target
.
oid
).
to
(
eq
(
@normal_repo
.
rugged
.
branches
[
"origin/feature"
].
target
.
oid
)
)
end
it
"should refresh the repo's #heads collection"
do
head_names
=
@normal_repo
.
branches
.
map
{
|
h
|
h
.
name
}
expect
(
head_names
).
to
include
(
new_branch
)
end
after
(
:all
)
do
FileUtils
.
rm_rf
(
TEST_NORMAL_REPO_PATH
)
ensure_seeds
end
end
context
"without -b"
do
context
"and specifying a nonexistent branch"
do
it
"should not do anything"
do
normal_repo
=
Gitlab
::
Git
::
Repository
.
new
(
'default'
,
TEST_NORMAL_REPO_PATH
)
expect
{
normal_repo
.
checkout
(
new_branch
)
}.
to
raise_error
(
Rugged
::
ReferenceError
)
expect
(
normal_repo
.
rugged
.
branches
[
new_branch
]).
to
be_nil
expect
(
normal_repo
.
rugged
.
head
.
target
.
oid
).
to
(
eq
(
normal_repo
.
rugged
.
branches
[
"master"
].
target
.
oid
)
)
head_names
=
normal_repo
.
branches
.
map
{
|
h
|
h
.
name
}
expect
(
head_names
).
not_to
include
(
new_branch
)
end
after
(
:all
)
do
FileUtils
.
rm_rf
(
TEST_NORMAL_REPO_PATH
)
ensure_seeds
end
end
context
"and with a valid branch"
do
before
(
:all
)
do
@normal_repo
=
Gitlab
::
Git
::
Repository
.
new
(
'default'
,
TEST_NORMAL_REPO_PATH
)
@normal_repo
.
rugged
.
branches
.
create
(
"feature"
,
"origin/feature"
)
@normal_repo
.
checkout
(
"feature"
)
end
it
"should move the HEAD to the correct commit"
do
expect
(
@normal_repo
.
rugged
.
head
.
target
.
oid
).
to
(
eq
(
@normal_repo
.
rugged
.
branches
[
"feature"
].
target
.
oid
)
)
end
it
"should update the working directory"
do
File
.
open
(
File
.
join
(
SEED_STORAGE_PATH
,
TEST_NORMAL_REPO_PATH
,
".gitignore"
),
"r"
)
do
|
f
|
expect
(
f
.
read
.
each_line
.
to_a
).
not_to
include
(
".DS_Store
\n
"
)
end
end
after
(
:all
)
do
FileUtils
.
rm_rf
(
SEED_STORAGE_PATH
,
TEST_NORMAL_REPO_PATH
)
ensure_seeds
end
end
end
end
describe
"#delete_branch"
do
before
(
:all
)
do
@repo
=
Gitlab
::
Git
::
Repository
.
new
(
'default'
,
TEST_MUTABLE_REPO_PATH
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment