diff --git a/sdk_lib/enter_chroot.sh b/sdk_lib/enter_chroot.sh
index 6bbf086..308db28 100755
--- a/sdk_lib/enter_chroot.sh
+++ b/sdk_lib/enter_chroot.sh
@@ -80,12 +80,12 @@
 switch_to_strict_mode
 
 # These config files are to be copied into chroot if they exist in home dir.
+# Additionally, git relevant files are copied by setup_git.
 FILES_TO_COPY_TO_CHROOT=(
   .gdata_cred.txt             # User/password for Google Docs on chromium.org
   .gdata_token                # Auth token for Google Docs on chromium.org
   .disable_build_stats_upload # Presence of file disables command stats upload
   .netrc                      # May contain required source fetching credentials
-  .gitcookies                 # May contain required source fetching credentials
 )
 
 INNER_CHROME_ROOT=$FLAGS_chrome_root_mount  # inside chroot
@@ -234,6 +234,44 @@
   fi
 }
 
+setup_git() {
+  # Copy .gitconfig into chroot so repo and git can be used from inside.
+  # This is required for repo to work since it validates the email address.
+  copy_into_chroot_if_exists "${SUDO_HOME}/.gitconfig" \
+      "/home/${SUDO_USER}/.gitconfig"
+  local -r chroot_gitconfig="${FLAGS_chroot}/home/${SUDO_USER}/.gitconfig"
+
+  # If the user didn't set up their username in their gitconfig, look
+  # at the default git settings for the user.
+  if ! git config -f "${chroot_gitconfig}" user.email >& /dev/null; then
+    local ident=$(cd /; sudo -u ${SUDO_USER} -- git var GIT_COMMITTER_IDENT || \
+                  :)
+    local ident_name=${ident%% <*}
+    local ident_email=${ident%%>*}; ident_email=${ident_email##*<}
+    git config -f "${chroot_gitconfig}" --replace-all user.name \
+        "${ident_name}" || :
+    git config -f "${chroot_gitconfig}" --replace-all user.email \
+        "${ident_email}" || :
+  fi
+
+  # Copy the gitcookies file, updating the user's gitconfig to point to it.
+  local gitcookies
+  gitcookies="$(git config -f "${chroot_gitconfig}" --get http.cookiefile)"
+  if [[ $? -ne 0 ]]; then
+    # Try the default location anyway.
+    gitcookies="${SUDO_HOME}/.gitcookies"
+  fi
+  copy_into_chroot_if_exists "${gitcookies}" "/home/${SUDO_USER}/.gitcookies"
+  local -r chroot_gitcookies="${FLAGS_chroot}/home/${SUDO_USER}/.gitcookies"
+  if [[ -e "${chroot_gitcookies}" ]]; then
+    git config -f "${chroot_gitconfig}" --replace-all http.cookiefile \
+        "/home/${SUDO_USER}/.gitcookies"
+  fi
+  # This line must be at the end because using `git config` changes ownership of
+  # the .gitconfig.
+  chown ${SUDO_UID}:${SUDO_GID} "${chroot_gitconfig}"
+}
+
 setup_env() {
   (
     flock 200
@@ -460,6 +498,7 @@
     for fn in "${FILES_TO_COPY_TO_CHROOT[@]}"; do
       copy_into_chroot_if_exists "${SUDO_HOME}/${fn}" "/home/${SUDO_USER}/${fn}"
     done
+    setup_git
     promote_api_keys
 
     # Fix permissions on shared memory to allow non-root users access to POSIX
diff --git a/sdk_lib/make_chroot.sh b/sdk_lib/make_chroot.sh
index 417eb66..4807dbe 100755
--- a/sdk_lib/make_chroot.sh
+++ b/sdk_lib/make_chroot.sh
@@ -297,25 +297,6 @@
      user_cp -rp "${SUDO_HOME}/.ssh" "$FLAGS_chroot/home/${SUDO_USER}/"
    fi
 
-   if [[ -f ${SUDO_HOME}/.gitconfig ]]; then
-     # Copy .gitconfig into chroot so repo and git can be used from inside.
-     # This is required for repo to work since it validates the email address.
-     echo "Copying ~/.gitconfig into chroot"
-     user_cp "${SUDO_HOME}/.gitconfig" "$FLAGS_chroot/home/${SUDO_USER}/"
-   fi
-
-   # If the user didn't set up their username in their gitconfig, look
-   # at the default git settings for the user.
-   if ! git config -f "${SUDO_HOME}/.gitconfig" user.email >& /dev/null; then
-     ident=$(cd /; sudo -u ${SUDO_USER} -- git var GIT_COMMITTER_IDENT || :)
-     ident_name=${ident%% <*}
-     ident_email=${ident%%>*}; ident_email=${ident_email##*<}
-     gitconfig=${FLAGS_chroot}/home/${SUDO_USER}/.gitconfig
-     git config -f ${gitconfig} --replace-all user.name "${ident_name}" || :
-     git config -f ${gitconfig} --replace-all user.email "${ident_email}" || :
-     chown ${SUDO_UID}:${SUDO_GID} ${FLAGS_chroot}/home/${SUDO_USER}/.gitconfig
-   fi
-
    if [[ -f ${SUDO_HOME}/.cros_chroot_init ]]; then
      sudo -u ${SUDO_USER} -- /bin/bash "${SUDO_HOME}/.cros_chroot_init" \
        "${FLAGS_chroot}"
