[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.16.203.175: ~ $
#!/bin/sh
# git-mergetool--lib is a library for common merge tool functions

: ${MERGE_TOOLS_DIR=$(git --exec-path)/mergetools}

mode_ok () {
	if diff_mode
	then
		can_diff
	elif merge_mode
	then
		can_merge
	else
		false
	fi
}

is_available () {
	merge_tool_path=$(translate_merge_tool_path "$1") &&
	type "$merge_tool_path" >/dev/null 2>&1
}

list_config_tools () {
	section=$1
	line_prefix=${2:-}

	git config --get-regexp $section'\..*\.cmd' |
	while read -r key value
	do
		toolname=${key#$section.}
		toolname=${toolname%.cmd}

		printf "%s%s\n" "$line_prefix" "$toolname"
	done
}

show_tool_names () {
	condition=${1:-true} per_line_prefix=${2:-} preamble=${3:-}
	not_found_msg=${4:-}
	extra_content=${5:-}

	shown_any=
	( cd "$MERGE_TOOLS_DIR" && ls ) | {
		while read toolname
		do
			if setup_tool "$toolname" 2>/dev/null &&
				(eval "$condition" "$toolname")
			then
				if test -n "$preamble"
				then
					printf "%s\n" "$preamble"
					preamble=
				fi
				shown_any=yes
				printf "%s%s\n" "$per_line_prefix" "$toolname"
			fi
		done

		if test -n "$extra_content"
		then
			if test -n "$preamble"
			then
				# Note: no '\n' here since we don't want a
				# blank line if there is no initial content.
				printf "%s" "$preamble"
				preamble=
			fi
			shown_any=yes
			printf "\n%s\n" "$extra_content"
		fi

		if test -n "$preamble" && test -n "$not_found_msg"
		then
			printf "%s\n" "$not_found_msg"
		fi

		test -n "$shown_any"
	}
}

diff_mode() {
	test "$TOOL_MODE" = diff
}

merge_mode() {
	test "$TOOL_MODE" = merge
}

translate_merge_tool_path () {
	echo "$1"
}

check_unchanged () {
	if test "$MERGED" -nt "$BACKUP"
	then
		status=0
	else
		while true
		do
			echo "$MERGED seems unchanged."
			printf "Was the merge successful? [y/n] "
			read answer || return 1
			case "$answer" in
			y*|Y*) status=0; break ;;
			n*|N*) status=1; break ;;
			esac
		done
	fi
}

valid_tool () {
	setup_tool "$1" && return 0
	cmd=$(get_merge_tool_cmd "$1")
	test -n "$cmd"
}

setup_tool () {
	tool="$1"

	# Fallback definitions, to be overriden by tools.
	can_merge () {
		return 0
	}

	can_diff () {
		return 0
	}

	diff_cmd () {
		status=1
		return $status
	}

	merge_cmd () {
		status=1
		return $status
	}

	translate_merge_tool_path () {
		echo "$1"
	}

	if ! test -f "$MERGE_TOOLS_DIR/$tool"
	then
		# Use a special return code for this case since we want to
		# source "defaults" even when an explicit tool path is
		# configured since the user can use that to override the
		# default path in the scriptlet.
		return 2
	fi

	# Load the redefined functions
	. "$MERGE_TOOLS_DIR/$tool"

	if merge_mode && ! can_merge
	then
		echo "error: '$tool' can not be used to resolve merges" >&2
		return 1
	elif diff_mode && ! can_diff
	then
		echo "error: '$tool' can only be used to resolve merges" >&2
		return 1
	fi
	return 0
}

get_merge_tool_cmd () {
	merge_tool="$1"
	if diff_mode
	then
		git config "difftool.$merge_tool.cmd" ||
		git config "mergetool.$merge_tool.cmd"
	else
		git config "mergetool.$merge_tool.cmd"
	fi
}

# Entry point for running tools
run_merge_tool () {
	# If GIT_PREFIX is empty then we cannot use it in tools
	# that expect to be able to chdir() to its value.
	GIT_PREFIX=${GIT_PREFIX:-.}
	export GIT_PREFIX

	merge_tool_path=$(get_merge_tool_path "$1") || exit
	base_present="$2"
	status=0

	# Bring tool-specific functions into scope
	setup_tool "$1"
	exitcode=$?
	case $exitcode in
	0)
		:
		;;
	2)
		# The configured tool is not a built-in tool.
		test -n "$merge_tool_path" || return 1
		;;
	*)
		return $exitcode
		;;
	esac

	if merge_mode
	then
		run_merge_cmd "$1"
	else
		run_diff_cmd "$1"
	fi
	return $status
}

# Run a either a configured or built-in diff tool
run_diff_cmd () {
	merge_tool_cmd=$(get_merge_tool_cmd "$1")
	if test -n "$merge_tool_cmd"
	then
		( eval $merge_tool_cmd )
		status=$?
		return $status
	else
		diff_cmd "$1"
	fi
}

# Run a either a configured or built-in merge tool
run_merge_cmd () {
	merge_tool_cmd=$(get_merge_tool_cmd "$1")
	if test -n "$merge_tool_cmd"
	then
		trust_exit_code=$(git config --bool \
			"mergetool.$1.trustExitCode" || echo false)
		if test "$trust_exit_code" = "false"
		then
			touch "$BACKUP"
			( eval $merge_tool_cmd )
			status=$?
			check_unchanged
		else
			( eval $merge_tool_cmd )
			status=$?
		fi
		return $status
	else
		merge_cmd "$1"
	fi
}

list_merge_tool_candidates () {
	if merge_mode
	then
		tools="tortoisemerge"
	else
		tools="kompare"
	fi
	if test -n "$DISPLAY"
	then
		if test -n "$GNOME_DESKTOP_SESSION_ID"
		then
			tools="meld opendiff kdiff3 tkdiff xxdiff $tools"
		else
			tools="opendiff kdiff3 tkdiff xxdiff meld $tools"
		fi
		tools="$tools gvimdiff diffuse ecmerge p4merge araxis bc3 codecompare"
	fi
	case "${VISUAL:-$EDITOR}" in
	*vim*)
		tools="$tools vimdiff emerge"
		;;
	*)
		tools="$tools emerge vimdiff"
		;;
	esac
}

show_tool_help () {
	tool_opt="'git ${TOOL_MODE}tool --tool-<tool>'"

	tab='	'
	LF='
'
	any_shown=no

	cmd_name=${TOOL_MODE}tool
	config_tools=$({
		diff_mode && list_config_tools difftool "$tab$tab"
		list_config_tools mergetool "$tab$tab"
	} | sort)
	extra_content=
	if test -n "$config_tools"
	then
		extra_content="${tab}user-defined:${LF}$config_tools"
	fi

	show_tool_names 'mode_ok && is_available' "$tab$tab" \
		"$tool_opt may be set to one of the following:" \
		"No suitable tool for 'git $cmd_name --tool=<tool>' found." \
		"$extra_content" &&
		any_shown=yes

	show_tool_names 'mode_ok && ! is_available' "$tab$tab" \
		"${LF}The following tools are valid, but not currently available:" &&
		any_shown=yes

	if test "$any_shown" = yes
	then
		echo
		echo "Some of the tools listed above only work in a windowed"
		echo "environment. If run in a terminal-only session, they will fail."
	fi
	exit 0
}

guess_merge_tool () {
	list_merge_tool_candidates
	cat >&2 <<-EOF

	This message is displayed because '$TOOL_MODE.tool' is not configured.
	See 'git ${TOOL_MODE}tool --tool-help' or 'git help config' for more details.
	'git ${TOOL_MODE}tool' will now attempt to use one of the following tools:
	$tools
	EOF

	# Loop over each candidate and stop when a valid merge tool is found.
	for tool in $tools
	do
		is_available "$tool" && echo "$tool" && return 0
	done

	echo >&2 "No known ${TOOL_MODE} tool is available."
	return 1
}

get_configured_merge_tool () {
	# Diff mode first tries diff.tool and falls back to merge.tool.
	# Merge mode only checks merge.tool
	if diff_mode
	then
		merge_tool=$(git config diff.tool || git config merge.tool)
	else
		merge_tool=$(git config merge.tool)
	fi
	if test -n "$merge_tool" && ! valid_tool "$merge_tool"
	then
		echo >&2 "git config option $TOOL_MODE.tool set to unknown tool: $merge_tool"
		echo >&2 "Resetting to default..."
		return 1
	fi
	echo "$merge_tool"
}

get_merge_tool_path () {
	# A merge tool has been set, so verify that it's valid.
	merge_tool="$1"
	if ! valid_tool "$merge_tool"
	then
		echo >&2 "Unknown merge tool $merge_tool"
		exit 1
	fi
	if diff_mode
	then
		merge_tool_path=$(git config difftool."$merge_tool".path ||
				  git config mergetool."$merge_tool".path)
	else
		merge_tool_path=$(git config mergetool."$merge_tool".path)
	fi
	if test -z "$merge_tool_path"
	then
		merge_tool_path=$(translate_merge_tool_path "$merge_tool")
	fi
	if test -z "$(get_merge_tool_cmd "$merge_tool")" &&
		! type "$merge_tool_path" >/dev/null 2>&1
	then
		echo >&2 "The $TOOL_MODE tool $merge_tool is not available as"\
			 "'$merge_tool_path'"
		exit 1
	fi
	echo "$merge_tool_path"
}

get_merge_tool () {
	# Check if a merge tool has been configured
	merge_tool=$(get_configured_merge_tool)
	# Try to guess an appropriate merge tool if no tool has been set.
	if test -z "$merge_tool"
	then
		merge_tool=$(guess_merge_tool) || exit
	fi
	echo "$merge_tool"
}

Filemanager

Name Type Size Permission Actions
mergetools Folder 0755
.git-add.40009 File 1.46 MB 0755
.git-annotate.40009 File 1.46 MB 0755
.git-apply.40009 File 1.46 MB 0755
.git-archive.40009 File 1.46 MB 0755
.git-bisect--helper.40009 File 1.46 MB 0755
.git-blame.40009 File 1.46 MB 0755
.git-branch.40009 File 1.46 MB 0755
.git-bundle.40009 File 1.46 MB 0755
.git-cat-file.40009 File 1.46 MB 0755
.git-check-attr.40009 File 1.46 MB 0755
.git-check-ignore.40009 File 1.46 MB 0755
.git-check-ref-format.40009 File 1.46 MB 0755
.git-checkout-index.40009 File 1.46 MB 0755
.git-checkout.40009 File 1.46 MB 0755
.git-cherry-pick.40009 File 1.46 MB 0755
.git-cherry.40009 File 1.46 MB 0755
.git-clean.40009 File 1.46 MB 0755
.git-clone.40009 File 1.46 MB 0755
.git-column.40009 File 1.46 MB 0755
.git-commit-tree.40009 File 1.46 MB 0755
.git-commit.40009 File 1.46 MB 0755
.git-config.40009 File 1.46 MB 0755
.git-count-objects.40009 File 1.46 MB 0755
.git-credential.40009 File 1.46 MB 0755
.git-describe.40009 File 1.46 MB 0755
.git-diff-files.40009 File 1.46 MB 0755
.git-diff-index.40009 File 1.46 MB 0755
.git-diff-tree.40009 File 1.46 MB 0755
.git-diff.40009 File 1.46 MB 0755
.git-fast-export.40009 File 1.46 MB 0755
.git-fetch-pack.40009 File 1.46 MB 0755
.git-fetch.40009 File 1.46 MB 0755
.git-fmt-merge-msg.40009 File 1.46 MB 0755
.git-for-each-ref.40009 File 1.46 MB 0755
.git-format-patch.40009 File 1.46 MB 0755
.git-fsck-objects.40009 File 1.46 MB 0755
.git-fsck.40009 File 1.46 MB 0755
.git-gc.40009 File 1.46 MB 0755
.git-get-tar-commit-id.40009 File 1.46 MB 0755
.git-grep.40009 File 1.46 MB 0755
.git-hash-object.40009 File 1.46 MB 0755
.git-help.40009 File 1.46 MB 0755
.git-index-pack.40009 File 1.46 MB 0755
.git-init-db.40009 File 1.46 MB 0755
.git-init.40009 File 1.46 MB 0755
.git-log.40009 File 1.46 MB 0755
.git-ls-files.40009 File 1.46 MB 0755
.git-ls-remote.40009 File 1.46 MB 0755
.git-ls-tree.40009 File 1.46 MB 0755
.git-mailinfo.40009 File 1.46 MB 0755
.git-mailsplit.40009 File 1.46 MB 0755
.git-merge-base.40009 File 1.46 MB 0755
.git-merge-file.40009 File 1.46 MB 0755
.git-merge-index.40009 File 1.46 MB 0755
.git-merge-ours.40009 File 1.46 MB 0755
.git-merge-recursive.40009 File 1.46 MB 0755
.git-merge-subtree.40009 File 1.46 MB 0755
.git-merge-tree.40009 File 1.46 MB 0755
.git-merge.40009 File 1.46 MB 0755
.git-mktag.40009 File 1.46 MB 0755
.git-mktree.40009 File 1.46 MB 0755
.git-mv.40009 File 1.46 MB 0755
.git-name-rev.40009 File 1.46 MB 0755
.git-notes.40009 File 1.46 MB 0755
.git-pack-objects.40009 File 1.46 MB 0755
.git-pack-redundant.40009 File 1.46 MB 0755
.git-pack-refs.40009 File 1.46 MB 0755
.git-patch-id.40009 File 1.46 MB 0755
.git-peek-remote.40009 File 1.46 MB 0755
.git-prune-packed.40009 File 1.46 MB 0755
.git-prune.40009 File 1.46 MB 0755
.git-push.40009 File 1.46 MB 0755
.git-read-tree.40009 File 1.46 MB 0755
.git-receive-pack.40009 File 1.46 MB 0755
.git-reflog.40009 File 1.46 MB 0755
.git-remote-ext.40009 File 1.46 MB 0755
.git-remote-fd.40009 File 1.46 MB 0755
.git-remote-ftps.40009 File 820.52 KB 0755
.git-remote-http.40009 File 820.52 KB 0755
.git-remote-https.40009 File 820.52 KB 0755
.git-remote.40009 File 1.46 MB 0755
.git-replace.40009 File 1.46 MB 0755
.git-repo-config.40009 File 1.46 MB 0755
.git-rerere.40009 File 1.46 MB 0755
.git-reset.40009 File 1.46 MB 0755
.git-rev-list.40009 File 1.46 MB 0755
.git-rev-parse.40009 File 1.46 MB 0755
.git-revert.40009 File 1.46 MB 0755
.git-rm.40009 File 1.46 MB 0755
.git-send-pack.40009 File 1.46 MB 0755
.git-shell.40009 File 717.95 KB 0755
.git-shortlog.40009 File 1.46 MB 0755
.git-show-branch.40009 File 1.46 MB 0755
.git-show-ref.40009 File 1.46 MB 0755
.git-show.40009 File 1.46 MB 0755
.git-stage.40009 File 1.46 MB 0755
.git-status.40009 File 1.46 MB 0755
.git-stripspace.40009 File 1.46 MB 0755
.git-submodule--helper.40009 File 1.46 MB 0755
.git-symbolic-ref.40009 File 1.46 MB 0755
.git-tag.40009 File 1.46 MB 0755
.git-tar-tree.40009 File 1.46 MB 0755
.git-unpack-file.40009 File 1.46 MB 0755
.git-unpack-objects.40009 File 1.46 MB 0755
.git-update-index.40009 File 1.46 MB 0755
.git-update-ref.40009 File 1.46 MB 0755
.git-update-server-info.40009 File 1.46 MB 0755
.git-upload-archive.40009 File 1.46 MB 0755
.git-upload-pack.40009 File 791.44 KB 0755
.git-var.40009 File 1.46 MB 0755
.git-verify-pack.40009 File 1.46 MB 0755
.git-verify-tag.40009 File 1.46 MB 0755
.git-whatchanged.40009 File 1.46 MB 0755
.git-write-tree.40009 File 1.46 MB 0755
.git.40009 File 1.46 MB 0755
git File 1.46 MB 0755
git-add File 1.46 MB 0755
git-add--interactive File 35.8 KB 0755
git-am File 21.84 KB 0755
git-annotate File 1.46 MB 0755
git-apply File 1.46 MB 0755
git-archive File 1.46 MB 0755
git-bisect File 11.71 KB 0755
git-bisect--helper File 1.46 MB 0755
git-blame File 1.46 MB 0755
git-branch File 1.46 MB 0755
git-bundle File 1.46 MB 0755
git-cat-file File 1.46 MB 0755
git-check-attr File 1.46 MB 0755
git-check-ignore File 1.46 MB 0755
git-check-ref-format File 1.46 MB 0755
git-checkout File 1.46 MB 0755
git-checkout-index File 1.46 MB 0755
git-cherry File 1.46 MB 0755
git-cherry-pick File 1.46 MB 0755
git-clean File 1.46 MB 0755
git-clone File 1.46 MB 0755
git-column File 1.46 MB 0755
git-commit File 1.46 MB 0755
git-commit-tree File 1.46 MB 0755
git-config File 1.46 MB 0755
git-count-objects File 1.46 MB 0755
git-credential File 1.46 MB 0755
git-credential-cache File 717.83 KB 0755
git-credential-cache--daemon File 730.32 KB 0755
git-credential-store File 726.01 KB 0755
git-describe File 1.46 MB 0755
git-diff File 1.46 MB 0755
git-diff-files File 1.46 MB 0755
git-diff-index File 1.46 MB 0755
git-diff-tree File 1.46 MB 0755
git-difftool File 13.41 KB 0755
git-difftool--helper File 1.86 KB 0755
git-fast-export File 1.46 MB 0755
git-fast-import File 754.91 KB 0755
git-fetch File 1.46 MB 0755
git-fetch-pack File 1.46 MB 0755
git-filter-branch File 11.33 KB 0755
git-fmt-merge-msg File 1.46 MB 0755
git-for-each-ref File 1.46 MB 0755
git-format-patch File 1.46 MB 0755
git-fsck File 1.46 MB 0755
git-fsck-objects File 1.46 MB 0755
git-gc File 1.46 MB 0755
git-get-tar-commit-id File 1.46 MB 0755
git-grep File 1.46 MB 0755
git-hash-object File 1.46 MB 0755
git-help File 1.46 MB 0755
git-http-backend File 730.63 KB 0755
git-http-fetch File 816.54 KB 0755
git-http-push File 832.82 KB 0755
git-imap-send File 738.79 KB 0755
git-index-pack File 1.46 MB 0755
git-init File 1.46 MB 0755
git-init-db File 1.46 MB 0755
git-log File 1.46 MB 0755
git-lost-found File 554 B 0755
git-ls-files File 1.46 MB 0755
git-ls-remote File 1.46 MB 0755
git-ls-tree File 1.46 MB 0755
git-mailinfo File 1.46 MB 0755
git-mailsplit File 1.46 MB 0755
git-merge File 1.46 MB 0755
git-merge-base File 1.46 MB 0755
git-merge-file File 1.46 MB 0755
git-merge-index File 1.46 MB 0755
git-merge-octopus File 2.16 KB 0755
git-merge-one-file File 3.4 KB 0755
git-merge-ours File 1.46 MB 0755
git-merge-recursive File 1.46 MB 0755
git-merge-resolve File 944 B 0755
git-merge-subtree File 1.46 MB 0755
git-merge-tree File 1.46 MB 0755
git-mergetool File 8.18 KB 0755
git-mergetool--lib File 7.6 KB 0644
git-mktag File 1.46 MB 0755
git-mktree File 1.46 MB 0755
git-mv File 1.46 MB 0755
git-name-rev File 1.46 MB 0755
git-notes File 1.46 MB 0755
git-pack-objects File 1.46 MB 0755
git-pack-redundant File 1.46 MB 0755
git-pack-refs File 1.46 MB 0755
git-parse-remote File 2.13 KB 0644
git-patch-id File 1.46 MB 0755
git-peek-remote File 1.46 MB 0755
git-prune File 1.46 MB 0755
git-prune-packed File 1.46 MB 0755
git-pull File 7.68 KB 0755
git-push File 1.46 MB 0755
git-quiltimport File 3.27 KB 0755
git-read-tree File 1.46 MB 0755
git-rebase File 13.26 KB 0755
git-rebase--am File 1.43 KB 0644
git-rebase--interactive File 25.09 KB 0644
git-rebase--merge File 3.01 KB 0644
git-receive-pack File 1.46 MB 0755
git-reflog File 1.46 MB 0755
git-relink File 4.09 KB 0755
git-remote File 1.46 MB 0755
git-remote-ext File 1.46 MB 0755
git-remote-fd File 1.46 MB 0755
git-remote-ftp File 824.59 KB 0755
git-remote-ftps File 824.59 KB 0755
git-remote-http File 824.59 KB 0755
git-remote-https File 824.59 KB 0755
git-remote-testpy File 7.26 KB 0755
git-repack File 4.87 KB 0755
git-replace File 1.46 MB 0755
git-repo-config File 1.46 MB 0755
git-request-pull File 3.57 KB 0755
git-rerere File 1.46 MB 0755
git-reset File 1.46 MB 0755
git-rev-list File 1.46 MB 0755
git-rev-parse File 1.46 MB 0755
git-revert File 1.46 MB 0755
git-rm File 1.46 MB 0755
git-send-pack File 1.46 MB 0755
git-sh-i18n File 1.92 KB 0644
git-sh-i18n--envsubst File 24.16 KB 0755
git-sh-setup File 6.32 KB 0644
git-shell File 722.04 KB 0755
git-shortlog File 1.46 MB 0755
git-show File 1.46 MB 0755
git-show-branch File 1.46 MB 0755
git-show-index File 717.8 KB 0755
git-show-ref File 1.46 MB 0755
git-stage File 1.46 MB 0755
git-stash File 12.61 KB 0755
git-status File 1.46 MB 0755
git-stripspace File 1.46 MB 0755
git-submodule File 30.31 KB 0755
git-submodule--helper File 1.46 MB 0755
git-subtree File 15.08 KB 0755
git-symbolic-ref File 1.46 MB 0755
git-tag File 1.46 MB 0755
git-tar-tree File 1.46 MB 0755
git-unpack-file File 1.46 MB 0755
git-unpack-objects File 1.46 MB 0755
git-update-index File 1.46 MB 0755
git-update-ref File 1.46 MB 0755
git-update-server-info File 1.46 MB 0755
git-upload-archive File 1.46 MB 0755
git-upload-pack File 795.48 KB 0755
git-var File 1.46 MB 0755
git-verify-pack File 1.46 MB 0755
git-verify-tag File 1.46 MB 0755
git-web--browse File 4.12 KB 0755
git-whatchanged File 1.46 MB 0755
git-write-tree File 1.46 MB 0755