Skip to content

Commit d80a20e

Browse files
committed
Improve the lsync script
This PR improves the lsync script so that it can handle directories (recursively). For example, you can run the following command to find the detailed changes that are out of sync: ``` ./scripts/lsync content/zh/docs/concepts/_index.md ``` and you can run the following command to identify how many files are out of sync under a given directory: ``` > ./scripts/lsync content/zh/docs/concepts/ content/en/docs/concepts/architecture/control-plane-node-communication.md | 2 +- content/en/docs/concepts/architecture/controller.md | 10 ++++++++++ content/en/docs/concepts/cluster-administration/logging.md | 4 ++-- content/en/docs/concepts/cluster-administration/system-metrics.md | 2 +- content/en/docs/concepts/configuration/pod-priority-preemption.md | 2 +- content/en/docs/concepts/containers/runtime-class.md | 2 +- content/en/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md | 2 +- content/en/docs/concepts/extend-kubernetes/operator.md | 2 +- content/en/docs/concepts/extend-kubernetes/service-catalog.md | 2 +- content/en/docs/concepts/overview/kubernetes-api.md | 2 +- content/en/docs/concepts/overview/what-is-kubernetes.md | 3 +-- content/en/docs/concepts/overview/working-with-objects/labels.md | 2 +- content/en/docs/concepts/scheduling-eviction/kube-scheduler.md | 4 ++-- content/en/docs/concepts/services-networking/dual-stack.md | 2 +- content/en/docs/concepts/storage/ephemeral-volumes.md | 11 +++++------ content/en/docs/concepts/storage/persistent-volumes.md | 2 +- content/en/docs/concepts/storage/storage-classes.md | 2 +- content/en/docs/concepts/storage/volumes.md | 5 ++--- content/en/docs/concepts/workloads/_index.md | 2 +- content/en/docs/concepts/workloads/controllers/replicaset.md | 4 ++-- content/en/docs/concepts/workloads/pods/_index.md | 4 ++-- content/en/docs/concepts/workloads/pods/pod-lifecycle.md | 3 ++- ```
1 parent b0bf75c commit d80a20e

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

scripts/lsync.sh

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,37 @@
33
# This script checks if the English version of a page has changed since a localized
44
# page has been committed.
55

6-
if [ "$#" -ne 1 ] || ! [ -f "$1" ]; then
7-
echo -e "\nThis script checks if the English version of a page has changed since a "
8-
echo -e "localized page has been committed.\n"
6+
if [ "$#" -ne 1 ] ; then
7+
echo -e "\nThis script checks if the English version of a page has changed since a " >&2
8+
echo -e "localized page has been committed.\n" >&2
99
echo -e "Usage:\n\t$0 <PATH>\n" >&2
1010
echo -e "Example:\n\t$0 content/zh/docs/concepts/_index.md\n" >&2
1111
exit 1
1212
fi
1313

14+
# Check if path exists, and whether it is a directory or a file
15+
if [ ! -e "$1" ] ; then
16+
echo "Path not found: '$1'" >&2
17+
exit 2
18+
elif [ -d "$1" ] ; then
19+
IS_DIR=1
20+
EXTRA_FLAGS="--stat"
21+
else
22+
IS_DIR=0
23+
fi
1424
LOCALIZED="$1"
1525

1626
# Try get the English version
1727
EN_VERSION=`echo $LOCALIZED | sed "s/content\/..\//content\/en\//g"`
18-
if ! [ -f $EN_VERSION ]; then
28+
if [ $IS_DIR -eq 1 -a ! -e $EN_VERSION ]; then
1929
echo "$EN_VERSION has been removed."
20-
exit 2
30+
exit 3
2131
fi
2232

23-
# Last commit for the localized file
33+
# Last commit for the localized path
2434
LASTCOMMIT=`git log -n 1 --pretty=format:%h -- $LOCALIZED`
2535

26-
git diff --exit-code $LASTCOMMIT...HEAD $EN_VERSION
36+
git diff --exit-code $EXTRA_FLAGS $LASTCOMMIT...HEAD $EN_VERSION
2737

2838
if [ "$?" -eq 0 ]; then
2939
echo "$LOCALIZED is still in sync"

0 commit comments

Comments
 (0)