No passo Setup, nós configuramos e fizemos um clone do repositorio do github na máquina local.
Existem diversos tutoriais sobre a utilização de Gitpela internet, abaixo estão listados alguns:
Try Git
Git - The Simple Guide
Git Official Documentation - Getting Started
É interessante que quem nunca teve contato com Git realize pelo menos um dos tutoriais citado para um melhor entendimento dos passos a seguir.
Abrir o arquivo wordcount.go que se encontra dentro da pasta wordcount no diretório do projeto.
Na função mapFunc, adicionar após
/////////////////////////
// YOUR CODE GOES HERE //
/////////////////////////
a seguinte linha
fmt.Printf("Input Length: %v\n", len(input))
Nos imports do arquivo, adicionar o pacote "fmt":
import (
"fmt"
"github.com/pauloaguiar/ces27-lab1/mapreduce"
"hash/fnv"
)
Para verificar a nossa alteração:
wordcount$ go test -v -run Map
=== RUN TestMapFunc
Input Length: 0
Input Length: 3
Input Length: 7
Input Length: 13
Input Length: 7
Input Length: 7
Input Length: 8
Input Length: 37
Input Length: 7
--- FAIL: TestMapFunc (0.00s)
wordcount_test.go:123: Description: empty
wordcount_test.go:123: Description: one word
wordcount_test.go:156: Expected: foo : 1 -> Not Found!
wordcount_test.go:123: Description: two words
wordcount_test.go:156: Expected: foo : 2 -> Not Found!
wordcount_test.go:123: Description: repeated word
wordcount_test.go:156: Expected: foo : 2 -> Not Found!
wordcount_test.go:156: Expected: refoo : 1 -> Not Found!
wordcount_test.go:123: Description: invalid character
wordcount_test.go:156: Expected: foo : 1 -> Not Found!
wordcount_test.go:156: Expected: bar : 1 -> Not Found!
wordcount_test.go:123: Description: newline character
wordcount_test.go:156: Expected: bar : 1 -> Not Found!
wordcount_test.go:156: Expected: foo : 1 -> Not Found!
wordcount_test.go:123: Description: multiple whitespaces
wordcount_test.go:156: Expected: foo : 1 -> Not Found!
wordcount_test.go:156: Expected: bar : 1 -> Not Found!
wordcount_test.go:123: Description: special characters
wordcount_test.go:156: Expected: foo : 7 -> Not Found!
wordcount_test.go:156: Expected: s : 1 -> Not Found!
wordcount_test.go:123: Description: uppercase characters
wordcount_test.go:156: Expected: foo : 2 -> Not Found!
FAIL
exit status 1
FAIL github.com/pauloaguiar/ces27-lab1/wordcount 0.035s
No inicio podemos visualizar a saída do comando que foi introduzido no código. Note que os testes falham pois ainda não introduzimos o código que realiza corretamente a operação de Map.
Para ver o estado das nossas alterações, executamos o seguinte comando:
wordcount$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)>modified: wordcount.go>
no changes added to commit (use "git add" and/or "git commit -a")
Precisamos selecionar os arquivos para a etapa de Commit.
$ git add wordcount/wordcount.go
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD ..." to unstage)>modified: wordcount.go
Agora que as nossas alterações foram selecionadas, vamos realizar o commit:
$ git commit
O console vai abrir o VIM(Calma, vamos sobreviver...) caso nenhum outro editor tenha sido configurado. Escrever um comentário que descreva as alterações feitas:
Imprimindo tamanho do input
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
#
# Changes to be committed:
# modified: wordcount.go
#
# Changes not staged for commit:
# modified: ../ENTREGA.md
#
# Untracked files:
# ../GIT.html
# ../GIT.md
# ../README.html
# ../SETUP.html
# ../SETUP.md
É importante notar que o comentário não pode começar com '#' e que mensagens vazias não serão aceitas.
Para gravar o arquivo, você deve apertar ESC para sair do modo de inserção(-- INSERT --), apertar SHIFT+; para abrir a linha de comando do VIM, digitar wq e apertar ENTER.
[master a68a570] Imprimindo tamanho do input
1 file changed, 5 insertions(+), 1 deletion(-)
Agora as nossas alterações foram adicionadas ao nosso repositório local:
$ git log -n 1
commit a68a570562a41bd26b485dcd80ec2592b8e4c4a9
Author: Paulo Araujo [email protected]
Date: Wed Aug 24 21:04:56 2016 -0300>Imprimindo tamanho do input
Para enviar as suas alterações para o seu repositório remoto (Fork no GitHub), seguir instruções em: Entrega
Caso o repositório origin tenha sido atualizado, você pode fazer um pull das novas alterações e um rebase com as alterações locais utilizando os seguintes comandos:
$ git fetch origin
$ git rebase origin/master