{"id":56565,"date":"2023-02-03T12:05:01","date_gmt":"2023-02-03T06:35:01","guid":{"rendered":"https:\/\/www.tothenew.com\/blog\/?p=56565"},"modified":"2024-06-10T15:39:32","modified_gmt":"2024-06-10T10:09:32","slug":"step-by-step-tutorial-on-setting-up-aem-repo-tool-for-syncing-aem-with-intellij-on-windows","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/step-by-step-tutorial-on-setting-up-aem-repo-tool-for-syncing-aem-with-intellij-on-windows\/","title":{"rendered":"Step by Step Tutorial on Setting up AEM Repo tool for Syncing AEM with IntelliJ on Windows"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">When working with AEM, we often have to make changes to our jcr content while developing components and to get those changes up to the AEM server, we have to deploy code again and again. These multiple deployments can slow down our development cycle and eat up developers\u2019 time. So to tackle this problem, we can use the \u201cAEM Repo tool\u201d.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">AEM repo tool is a simple solution to transfer jcr content from our local file system to the AEM server without deploying the whole code. This tool simplifies the transfer of files for the developers and makes the development cycle faster and more efficient. It can be integrated with IntelliJ or Eclipse.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Setting up the Repo tool on other OS is relatively straightforward, but for Windows, it can get a little tricky. So today, we will see step by step setup of the AEM repo tool on windows and will integrate it with IntelliJ.<\/span><\/p>\n<p><b>Prerequisite<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Install Cygwin for windows from the following link:<\/span><a href=\"https:\/\/www.cygwin.com\/install.html\"> <span style=\"font-weight: 400;\">https:\/\/www.cygwin.com\/install.html<\/span><\/a><\/p>\n<ol>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Run the setup-x86_64.exe file downloaded from the above link and click \u201cNext\u201d to continue.<\/span><\/span><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56541 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A prompt to select the download source should appear. Here select \u201cInstall from Internet\u201d and click \u201cNext\u201d to proceed.<\/span><\/span><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56542 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture1.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture1.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture1-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture1-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture1-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/>\n<p>&nbsp;<\/li>\n<li style=\"font-weight: 400;\">Now it will ask to select the root installation directory and whether it should be installed for \u201cAll User\u201d or \u201cJust You.\u201d Unless changing to the root directory is unnecessary, keep settings as default and click on \u201cNext\u201d to continue.<img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56543 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture2.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture2.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture2-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture2-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture2-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<li style=\"font-weight: 400;\">To download the package files, the setup will ask you to specify a \u201cLocal Package Directory,\u201d which by default points to system\u2019s \u201cDownload\u201d folder. In case you want to specify another location, specify its path here and click \u201cNext\u201d to proceed with the setup.<img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56544 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture3.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture3.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture3-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture3-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture3-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<li style=\"font-weight: 400;\">In this step, the setup will ask to choose the internet connection. You can either select \u201cUse System Proxy Settings\u201d or \u201cDirect connection\u201d to proceed ( in my case, I&#8217;ve used \u201cDirect connection\u201d ). Click \u201cNext\u201d to proceed.<img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56545 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture6.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture6.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture6-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture6-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture6-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<li style=\"font-weight: 400;\">In this step, the setup will ask you to choose a download site. You should ideally choose a site based on which domain is closest to your geographical location, as there are multiple top-level domains listed, such as .com, .au, .nz, .ca, etc.\u2026.. In my case in India, I chose \u201c<a href=\"https:\/\/cygwin.mirror.constant.com\">https:\/\/cygwin.mirror.constant.com<\/a>\u201d. If you are confused about which one to select, you can click on anyone in the list and click \u201cNext\u201d to continue.<img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56546 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture7.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture7.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture7-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture7-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture7-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<li style=\"font-weight: 400;\">Cygwin provides a lot of UNIX\/Linux-based utilities that run on Windows. Not all packages get installed by default. Only a minimal set of important packages gets installed. In this step, you can customize the Cygwin setup by selecting\/un-selecting different categories of packages. Now for our AEM Repo tool to work properly on windows, we need the following mandatory packages to be installed : zip, unzip, curl, rsync.<b>Note: Make sure you install zip, unzip, curl, rsync packages with the cygwin installation. <\/b>After selecting all the required packages, click on \u201cNext\u201d to continue.\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56547 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture9.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture9.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture9-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture9-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture9-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56548 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture10.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture10.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture10-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture10-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture10-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56549 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture11.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture11.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture11-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture11-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture11-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56550 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture12.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture12.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture12-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture12-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture12-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<li style=\"font-weight: 400;\">Now verify all the packages that you have selected and click on \u201cNext\u201d to continue.<img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56551 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture13.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture13.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture13-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture13-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture13-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Now the download will start for the selected packages, and the installation will be finished. Click on \u201cFinish\u201d to complete the Cygwin installation with the required packages.<\/span><\/span><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56552 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture14.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture14.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture14-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture14-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture14-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56553 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture15.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture15.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture15-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture15-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Capture15-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p>&nbsp;<\/li>\n<\/ol>\n<p><b>Downloading and installing Repo tool<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Create a folder called adoberepo under the c:\\cloudmanager.<\/span><span style=\"font-weight: 400;\"> Download the repo tool from here <\/span><a href=\"https:\/\/github.com\/Adobe-Marketing-Cloud\/tools\/releases\/tag\/repo-1.4\"><span style=\"font-weight: 400;\">https:\/\/github.com\/Adobe-Marketing-Cloud\/tools\/releases\/tag\/repo-1.4<\/span><\/a><span style=\"font-weight: 400;\"> and install it <\/span><span style=\"font-weight: 400;\">by copying the repo file and placing it under the c:\\cloudmanger\\adoberepo folder.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We can download the \u201cSource Code (zip)\u201d from the above link. Extract the zip and copy the \u201crepo\u201d file to the above folder.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56554 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115052.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115052.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115052-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115052-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115052-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56555 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115158.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115158.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115158-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115158-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115158-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><b>Configuring the Repo tool in IntelliJ<\/b><\/p>\n<ol>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Launch IntelliJ<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Hit the Ctrl+Alt+S keys to launch the settings window.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Select Tools-&gt;External Tools, click the + sign and enter the following as shown in the screenshot.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Make sure you create a group called repo by typing in \u201crepo\u201d in the Group drop down field (when creating the first command) and all the commands that you create belong to the <\/span><b>repo<\/b><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"> group ( after creating group in the first command, select \u201crepo\u201d from dropdown for all other commands )<\/span><\/span>.<img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56556 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115505.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115505.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115505-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115505-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115505-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<\/ol>\n<p><b>Creating commands :\u00a0<\/b><\/p>\n<ul>\n<li><strong>Put Command<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Program<\/span><span style=\"font-weight: 400;\">: C:\\cygwin64\\bin\\bash<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Arguments<\/span><span style=\"font-weight: 400;\">: -l C:\\cloudmanger\\adoberepo\\repo put -f &#8220;$UnixSeparators($FilePath$)$&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Working Dir<\/span><span style=\"font-weight: 400;\">: $ProjectFileDir$<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56557 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115610.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115610.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115610-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115610-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115610-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<ul>\n<li><b>Get Command<\/b><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Program<\/span><span style=\"font-weight: 400;\">: C:\\cygwin64\\bin\\bash<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Arguments<\/span><span style=\"font-weight: 400;\">: -l C:\\cloudmanger\\adoberepo\\repo get -f &#8220;$UnixSeparators($FilePath$)$&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Working Dir<\/span><span style=\"font-weight: 400;\">: $ProjectFileDir$<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56558 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115628.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115628.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115628-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115628-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115628-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<ul>\n<li><b>Status Command<\/b><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Program<\/span><span style=\"font-weight: 400;\">: C:\\cygwin64\\bin\\bash<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Arguments<\/span><span style=\"font-weight: 400;\">: -l C:\\cloudmanger\\adoberepo\\repo st -f &#8220;$UnixSeparators($FilePath$)$&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Working Dir<\/span><span style=\"font-weight: 400;\">: $ProjectFileDir$<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56559 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115646.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115646.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115646-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115646-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115646-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<ul>\n<li><b>Diff Command<\/b><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Program<\/span><span style=\"font-weight: 400;\">: C:\\cygwin64\\bin\\bash<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Arguments<\/span><span style=\"font-weight: 400;\">: -l C:\\cloudmanger\\adoberepo\\repo diff -f &#8220;$UnixSeparators($FilePath$)$&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Working Dir<\/span><span style=\"font-weight: 400;\">: $ProjectFileDir$<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56560 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115710.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115710.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115710-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115710-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115710-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/span><\/p>\n<p><b>Adding keyboard shortcuts for the above command :<\/b><\/p>\n<ol>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Hit the <\/span><span style=\"font-weight: 400;\">Ctrl+Alt+S keys to launch the settings window.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Click on Keymap.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">In keymap list go to external tool -&gt; &lt;group_name&gt; -&gt; &lt;command_name&gt;<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Click on any command for which shortcut needs to be added then click on \u201cAdd keyboard shortcut\u201d.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Then add whatever shortcut you want for that command. Such as \u201cctrl+shift+p\u201d for the put command.<\/span><\/span><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56561 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115846.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115846.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115846-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115846-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115846-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/li>\n<\/ol>\n<p><b>Configuring AEM credentials in .repo file<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Extract the .repo file from <\/span><a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-learn\/assets\/repo.zip?lang=en\"><span style=\"font-weight: 400;\">repo.zip<\/span><\/a><span style=\"font-weight: 400;\"> and place it in the AEM project root folder. (C:\\CloudManager\\aem-banking-application). Open the .repo file and ensure the server and credentials settings match the environment.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56562 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115954.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115954.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115954-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115954-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-115954-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Open the .gitignore file and add the following towards the bottom of the file and save the changes<\/span><\/p>\n<p><span style=\"font-weight: 400;\"># repo<\/span><\/p>\n<p><span style=\"font-weight: 400;\">.repo<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56563 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120016.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120016.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120016-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120016-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120016-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><b>Validate the installation on IntelliJ<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Select any folder\/module within the aem-banking-application project, such as ui.content, and right click. You should see the repo option, and under the repo option, you will see the 4 commands we added earlier.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-56564 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120127.png\" alt=\"\" width=\"850\" height=\"360\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120127.png 850w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120127-300x127.png 300w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120127-768x325.png 768w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-27-120127-624x264.png 624w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Now the installation of the AEM repo tool is complete, and you can sync the jcr content from IDE to the AEM server simply by executing these commands or via their shortcuts.<\/span><\/p>\n<p><b>References :\u00a0<\/b><\/p>\n<ol>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/experienceleague.adobe.com\/docs\/experience-manager-learn\/cloud-service\/forms\/developing-for-cloud-service\/intellij-and-aem-sync.html?lang=en\"><span style=\"font-weight: 400;\">https:\/\/experienceleague.adobe.com\/docs\/experience-manager-learn\/cloud-service\/forms\/developing-for-cloud-service\/intellij-and-aem-sync.html?lang=en<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/www.cygwin.com\/install.html\"><span style=\"font-weight: 400;\">https:\/\/www.cygwin.com\/install.html<\/span><\/a><\/li>\n<\/ol>\n<div class=\"ap-custom-wrapper\"><\/div><!--ap-custom-wrapper-->","protected":false},"excerpt":{"rendered":"<p>When working with AEM, we often have to make changes to our jcr content while developing components and to get those changes up to the AEM server, we have to deploy code again and again. These multiple deployments can slow down our development cycle and eat up developers\u2019 time. So to tackle this problem, we [&hellip;]<\/p>\n","protected":false},"author":1523,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":833},"categories":[5868,1994,1,3109,4488],"tags":[5116,3573,4847,5117,5111,5114,5112,692,5115,5113,472],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/56565"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/1523"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=56565"}],"version-history":[{"count":3,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/56565\/revisions"}],"predecessor-version":[{"id":56701,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/56565\/revisions\/56701"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=56565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=56565"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=56565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}